@ перед идентификатором
От: bo99ard  
Дата: 20.06.13 06:32
Оценка:
Добрый день,

Встретил такой код:

public static void Raise<TEventArgs>(EventHandler<TEventArgs> @delegate, object sender, TEventArgs e) where TEventArgs : EventArgs {
      if(@delegate != null) {
       ...
}



Для чего пишут @ перед идентификатором?

Где про ЭТО можно почитать?
Re: @ перед идентификатором
От: Aen Sidhe Россия Просто блог
Дата: 20.06.13 06:37
Оценка: 3 (1)
Здравствуйте, bo99ard, Вы писали:


B>Добрый день,


B>Для чего пишут @ перед идентификатором?

delegate — зарезервированное слово в C#. Если перед ним написать @, то можно использовать в качестве идентификатора, иначе — нет.

B>Где про ЭТО можно почитать?

В спецификации языка.
С уважением, Анатолий Попов.
ICQ: 995-908
Re: @ перед идентификатором
От: HowardLovekraft  
Дата: 20.06.13 06:37
Оценка: 3 (1)
Здравствуйте, bo99ard, Вы писали:

B>Для чего пишут @ перед идентификатором?

Для того, чтобы можно было использовать в качестве иденитифкатора ключевое слово (delegate в примере). Без "@" компилятор будет думать, что это — попытка объявить новый тип делегата.

B>Где про ЭТО можно почитать?

В спецификации языка, параграф 2.4.2 Identifiers.
Re[2]: @ перед идентификатором
От: bo99ard  
Дата: 20.06.13 17:20
Оценка: -2
Здравствуйте, Aen Sidhe, Вы писали:

AS>Здравствуйте, bo99ard, Вы писали:



B>>Добрый день,


B>>Для чего пишут @ перед идентификатором?

AS>delegate — зарезервированное слово в C#. Если перед ним написать @, то можно использовать в качестве идентификатора, иначе — нет.

Собственно, почему возник вопрос?
Предварительно мною было проведено небольшое исследование, результат которого показал что идентификаторы могут начинаться только на букву и никак иначе.
Например, вот здесь об этом написано:
http://msdn.microsoft.com/ru-ru/library/e7f8y25b.aspx

Читать стандарт, на английском мне лень, поэтому и создал тему.


B>>Где про ЭТО можно почитать?

AS>В спецификации языка.

Какой версии?
Re[3]: @ перед идентификатором
От: fddima  
Дата: 20.06.13 17:40
Оценка:
Здравствуйте, bo99ard, Вы писали:

B>Например, вот здесь об этом написано:

B>http://msdn.microsoft.com/ru-ru/library/e7f8y25b.aspx
Ах русский МСДН... он такой... русский. Забавно что ссылка http://msdn.microsoft.com/en-us/library/e7f8y25b.aspx — ведет на статью C Identifiers, где действительно никакого @ нет. http://msdn.microsoft.com/en-us/library/aa664670 — вот старая статья (VS 2003), а вообще проще открыть стандарт.
Re[2]: @ перед идентификатором
От: SteeLHeaD  
Дата: 21.06.13 04:27
Оценка: +1
Здравствуйте, Aen Sidhe, Вы писали:

B>>Где про ЭТО можно почитать?

AS>В спецификации языка.

Хотел чуть чуть дополнить.
Спецификацию даже не нужно специально искать.
Она вместе в Вижуал Студией приезжает к вам на компьютер, называется
"CSharp Language Specification.doc"
и обычно ложится в папку C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC#\Specifications\1033
Re: @ перед идентификатором
От: nikov США http://www.linkedin.com/in/nikov
Дата: 23.06.13 23:32
Оценка: 1 (1)
Здравствуйте, bo99ard, Вы писали:

B>Для чего пишут @ перед идентификатором?


Как найти в гугле "знак @ перед идентификатором C#"
Re: @ перед идентификатором
От: Аноним  
Дата: 25.06.13 18:28
Оценка: :))
B>Для чего пишут @ перед идентификатором?
B>Где про ЭТО можно почитать?
Это значит из твиттера
Re: @ перед идентификатором
От: pavel783  
Дата: 26.06.13 07:02
Оценка:
Здравствуйте, bo99ard, Вы писали:


B>Для чего пишут @ перед идентификатором?

если @ не нарушает конвенции проекта об именовании параметров/переменных то и пишут
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.