Имя: Пароль:
IT
 
C#, константы и static....case. Что то какой то трабл.
🠗Ø (Rie 20.07.2013 15:21)
0 megabax
 
20.07.13
14:11
Добрый день.
Зная, что в C# нет констант, создал статистический класс:
   /// <summary>
   /// Класс констант кодов передаточнйо функции
   /// </summary>
   public static class TransFuncConstId
   {
       /// <summary>
       /// Пороговое значение нуль
       /// </summary>
       public static int ZeroThresholdId = 1;

       /// <summary>
       /// Трехуровневая передаточная функция
       /// </summary>
       public static int ThreeLevelsId = 2;

... ну и так далее "константы"

   }
и начал делать вот так:
   /// <summary>
   /// Фактори передаточных функций
   /// </summary>
   public static class TransFuncFactory
   {
       public static ITransFunc CreateTransFuncAsId(int a_id)
       {
           switch (a_id)
           {
               case TransFuncConstId.AsisId:
                   return new Asis();
                   break;
           }
       }
   }
но визуал студия почему то подчеркивает case TransFuncConstId.AsisId: и говорит: "Требуется постоянное значение".
Подскажите плз, как лечить?
Неужели придется в case писать циферки или заменить его на множества if?
1 Мизантроп
 
20.07.13
14:21
(0)
> Зная, что в C# нет констант,

http://msdn.microsoft.com/ru-ru/library/ms173119.aspx
Константы представляют собой неизменные значения, известные во время компиляции и неизменяемые на протяжении времени существования программы. Константы объявляются с модификатором const. Только встроенные типы C# (за исключением System.Object) могут быть объявлены как const.
2 Мизантроп
 
20.07.13
14:24
static class Constants
{
   public const double Pi = 3.14159;
   public const int SpeedOfLight = 300000; // km per sec.

}
3 megabax
 
20.07.13
14:25
(1) (2) спасибо, значит, я ошибался насчет того что нет констант.
4 Мизантроп
 
20.07.13
14:39
(3) я про си шарп вообще ничего не знал, но 5 секунд в гугле и я уже что-то знаю
5 megabax
 
20.07.13
14:43
(4) э...значит мне тоже надо яндекс заменить гуглом...
6 sda553
 
20.07.13
14:44
(4) Не думаю, что незнание C#, есть то о чем стоит публично рассказывать - стыдоба.
7 Рэйв
 
20.07.13
14:45
(6)На мисте  "не знание" создает основной контент:-)
8 megabax
 
20.07.13
14:47
(6) И что такого, я тоже раньше вообще не знал C#
9 sda553
 
20.07.13
14:50
(8) Ты не понял тему. Речь не о незнании, все на свете знать нельзя, а о случаях когда человек публично рассказывает, что он чего то не знает.
"Ой, вы знаете я совсем не понимаю в компах"
"А я ведь совсем не умею готовить"
и т.д.
С какой это делается целью? Зачем это сообщать другим?
10 Рэйв
 
20.07.13
14:50
(6)Я бы дажу усомнился, что ты с#  знаешь. Обычно мэтры молчат.
11 Мизантроп
 
20.07.13
14:53
(6) бггг. Я и 1с не знаю, я вообще не программист. Мне надо удавиться?
12 Мизантроп
 
20.07.13
14:54
(9)
> а о случаях когда человек публично рассказывает, что он чего то не знает.

Дремучие комплексы у тебя, живи проще
13 sda553
 
20.07.13
14:55
(11) ну позор, что сказать.
14 Мизантроп
 
20.07.13
14:58
(13) :-), а как ты живешь с позором незнания, например, технологий созданий ядерного оружия или каких-нибудь биологических
15 Мизантроп
 
20.07.13
15:00
(5)
> значит мне тоже надо яндекс заменить гуглом

ничего не надо менять

http://yandex.ru/yandsearch?text=C%23%2C+константы
первая же ссылка
16 sda553
 
20.07.13
15:01
(14) Я незнанием публично не позорюсь, таким образом удается прожить.
17 Мизантроп
 
20.07.13
15:02
(16) как мило :-)
18 Мизантроп
 
20.07.13
15:05
(16) а как ты поступаешь когда в компании возникает беседа на незнакомую тебе тему? Краснеешь и молча уходишь?
19 sda553
 
20.07.13
15:07
(18) Белею и молча слушаю, задавая интересующие меня вопросы
20 Мизантроп
 
20.07.13
15:09
(19) а если тебя спросят рубишь ты в теме или нет, что ответишь?
21 Мизантроп
 
20.07.13
15:09
молчать будешь или убежишь? бгг
22 sda553
 
20.07.13
15:14
(20) Если деваться некуда, то правду, что не рублю. Тут уже деваться некуда.
23 Мизантроп
 
20.07.13
15:16
(22) т.е. ты допускаешь публичное признание своей несостоятельности в какой-либо теме. А зачем меня стыдил в (6)?
24 sda553
 
20.07.13
15:17
(23) потому что там тебя никто не спрашивал. Ты сам решил занятся там своим познательным публичным эксгибиционистом
25 Rie
 
модератор
20.07.13
15:17
Ветка вообще-то тематическая...
Так что с фаллометрическим диспутом - переместитесь, пожалуйста, в LIFE.