Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 18.03.2012
Сообщений: 14
1

Уровни защиты в проектах

28.07.2012, 13:17. Показов 1488. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
имеются два проекта, один консоль а другой класс-библиотека.
не получается их связать, вот здесь
C#
1
TarifsOpenFileText context = new TarifsOpenFileText
();
пишет что "ClassLibrary1.TarifsOpenFileText" недоступен из-за его уровня защиты.
вот код консоли:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ClassLibrary1;
 
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
 
            if (args.Count() == 0)
            {
                WriteAndInputLine("Имя файла не задано");
                return;
            }
 
            string filename = args[0];
            string tarifssFilename = null;
 
            if (args.Count() >= 2)
                tarifssFilename = args[1];
            
            bool exit = false;
 
            while (!exit)
            {
                Console.WriteLine("Введите нужную команду операции: ");
                Console.WriteLine("Команда операции 1(Поиск самого длинного слова в тексте) - SearchWord ");
                Console.WriteLine("Команда операции (Выход) - Exit ");
                Console.Write(">>> ");
                string input = Console.ReadLine();
 
                if (String.IsNullOrWhiteSpace(input)) continue;
 
                string[] command = input.Split(' ');
 
                int count = command.Count();
 
                string commandName = command[0].ToUpper();
 
                switch (commandName)
                {
                    case ExitCommandName:
                        exit = true;
                        break;
                    case SearchCommandName:
                            SearchExecute(filename);
                            break;
                    case LoadTarifsCommandName:
                            LoadTarifsExecute(tarifssFilename);
                            break;
                    
                    default:
                        Console.WriteLine("Неизвестная команда " + commandName);
                        double i;
                        if (double.TryParse(commandName, out i))
                            Console.WriteLine("This is a number");
                        break;
                    
                }
            }
        }
        private static string WriteAndInputLine(string message)
        {
            Console.WriteLine(message);
            return Console.ReadLine();
        }
 
 
 
        private static void SearchExecute(string filename)
        {
            try
            {
                Console.WriteLine("Обработан файл под названием " + filename);
                LibraryOfOpenText.ReadWords(filename);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Ошибка: " + ex.Message);
                return;
            }
        }
 
        private static void LoadTarifsExecute(string filename)
        {
            if (string.IsNullOrWhiteSpace(filename))
            {
                Console.WriteLine("Не задано имя файла с тарифами");
                return;
            }
 
            TarifsOpenFileText context = new TarifsOpenFileText();
 
            context.FileName = filename;
           
            try
            {
                _tarifss = context.LoadTarifs();
                Console.WriteLine("Загружено сущностей: " + _tarifss.Count);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Ошибка: " + ex.Message);
            }
              
        }
        private static List<Tarifs> _tarifss = new List<Tarifs>();
 
        private static void PrintEmployee(Tarifs tarifss)
        {
            Console.WriteLine(tarifss.AllInformation);
            Console.WriteLine(tarifss.Id);
            Console.WriteLine(tarifss.NameTarif);
            Console.WriteLine(tarifss.TypeOfTariffication);
            Console.WriteLine(tarifss.PricePerMinute);
            Console.WriteLine(tarifss.RentalFee);
            Console.WriteLine(tarifss.SetUpFee);
        }
             
 
             #region Названия команд
 
             public const string ExitCommandName = "EXIT";
             public const string SearchCommandName = "SEARCHWORD";
             public const string LoadTarifsCommandName = "LOADTAR";
             public const string ShowEmployeeCommandName = "SHOWEMP";
             public const string ShowAllEmployeesCommandName = "SHOWEMPALL";
             public const string ChangeEmployeeSurnameCommandName = "CHANGEEMPSURNAME";
 
             #endregion
    }
}
Вот код библиотеки:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace ClassLibrary1
{
    public class TarifsOpenFileText
    {
        public string FileName { get; set; }
 
        public List<Tarifs> LoadTarifs()
        {
            List<Tarifs> tarifss = new List<Tarifs>();
 
            using (StreamReader sr = File.OpenText(FileName))
            {
 
                int lineNo = 0;
 
                while (!sr.EndOfStream)
                {
                    lineNo++;
                    string line = sr.ReadLine();
 
                    if (string.IsNullOrWhiteSpace(line) || line[0] == '*')
                        continue; // пропускаем пустые строки и комментарии
 
                    string[] attributeValues = line.Split('\t');
 
                    if (attributeValues.Count() < 4)
                        throw new FormatException(
                            String.Format("Неверный формат строки №{0}. Недостаточное количество атрибутов", lineNo));
 
                    try
                    {
                        Tarifs newTarifs = new Tarifs();
 
                        newTarifs.Id = int.Parse(attributeValues[0]);
                        newTarifs.NameTarif = attributeValues[1];
                        newTarifs.TypeOfTariffication = bool.Parse(attributeValues[2]);
                        newTarifs.PricePerMinute = double.Parse(attributeValues[3]);
                        newTarifs.RentalFee = double.Parse(attributeValues[4]);
                        newTarifs.SetUpFee = double.Parse(attributeValues[5]);
 
 
                        tarifss.Add(newTarifs);
                    }
                    catch (Exception ex)
                    {
                        throw new FormatException(
                            String.Format("Ошибка при обработке строки №{0}. {1}", lineNo, ex.Message),
                            ex);
                    }
                }
            }
 
                return tarifss;
            }
 
        }
    }
}
и два дополнительных проекта:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ClassLibrary1
{
    public class Tarifs
    {
 
        private int _id;
        private string nameTarif;
        private double pricePerMinute; // плата за минуту разговора
        private double rentalFee; // абонентская плата
        private bool typeOfTariffication; // тип тарификации (true - поминутная; false - посекундная)
        private double setUpFee; // плата за соединение
      
 
        public int Id 
        {
            get { return _id; }
            set
            {
                if (value < 0)
                    throw new Exception("Номер тарифа не может быть меньше нуля");
                _id = value;
            }
        }
        public string NameTarif
        {
            get { return nameTarif; }
            set { nameTarif = value; }
        }
        public bool TypeOfTariffication
        {
            get { return typeOfTariffication; }
            set { typeOfTariffication = value; }
        }
        public double PricePerMinute
        {
            get { return pricePerMinute; }
            set { pricePerMinute = value; }
        }
        public double RentalFee
        {
            get
            {
                rentalFee = 0.9 * pricePerMinute;
                return rentalFee;
            }
            set { rentalFee = value; }
        }
        public double SetUpFee
        {
            get { return setUpFee; }
            set { setUpFee = value; }
        }
        public string AllInformation // пример readonly property, значение которого рассчитывается
        {
            get
            {
                return Id + NameTarif + TypeOfTariffication + PricePerMinute + RentalFee + SetUpFee;
            }
        }
    }
}
и
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace ClassLibrary1
{
    public class LibraryOfOpenText
    {
        public static void ReadWords(string filename)
        {
            Console.WriteLine();
            Stack<string> stack = new Stack<string>();
           
 
            string line = File.ReadAllText(filename, Encoding.Default);
 
            string[] words = line.Split(new string[] { ",", " ", "\r\n", "\t" }, StringSplitOptions.RemoveEmptyEntries);
            int maxlength = 0;
            for (int i = 0; i < words.Length; i++)
                if (maxlength < words[i].Length) maxlength = words[i].Length;
            for (int i = 0; i < words.Length; i++)
            {
                if (words[i].Length == maxlength && !stack.Contains(words[i])) stack.Push(words[i]);
            }
            string[] maxwords = stack.ToArray();
            int count;
            for (int i = 0; i < maxwords.Length; i++)
            {
                count = 0;
                foreach (string x in words)
                {
                    if (x == maxwords[i]) ++count;
                }
                Console.WriteLine("{2}. Самое длинное слово: {0}\n   Число вхождений: {1}", maxwords[i], count, i);
            }
            Console.ReadKey();
            
        }
    }
}
Помогите пожалуйста...
Заранее спасибо!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.07.2012, 13:17
Ответы с готовыми решениями:

Как снять запароленные защиты листов и защиты книги?
Господа, доброго времени суток. Подскажите, можно ли снять Вот эти защиты:...

О сложных проектах
Добрый день! задался вопросом о том как и на чем реализуют такие сложные проекты как например тот...

Уровни из файла
Пишу Арканоид. Рисование кирпичей происходит в цикле так: bool bricks; for (int i = 0; i &lt; 8 *...

Уровни системы.
Вобщем я просто не знал куда обратиться вот и решил податься на форум сисадминов... но тут тоже не...

3
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
28.07.2012, 13:28 2
попробуй от админа запустить хД
1
12 / 9 / 1
Регистрация: 27.07.2012
Сообщений: 17
28.07.2012, 13:40 3
Код, который Вы тут написали, вполне себе неплохо компилируется, и на указанной строке не падает.
0
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
28.07.2012, 14:38 4
пишет что "ClassLibrary1.TarifsOpenFileText" недоступен из-за его уровня защиты.
такое могло бы быть, если бы у TarifsOpenFileText был модификатор private или internal
но как уже сказали выше в этом коде ошибки нет и он должен нормально работать
1
28.07.2012, 14:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.07.2012, 14:38
Помогаю со студенческими работами здесь

Уровни знаний C++
Здравствуйте уважаемые пользователи Еще не начав изучать с++, хотел бы спросить, на какие уровни...

Уровни вложенности
Привет всем, имеется сайт аренды недвижимости на Bitrix. Имеется главная станица и 4 категории....

Уровни дерева
Реализовать процедуру процедура вставки (var p: pnode; n: целое число); который может...

Уровни Rx на FT232RL
Подскажите какие дожны быть уровни сигнала Rx на FT232RL? В даташите я нашел только на Tx: Tx 0...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru