С# префиксные имена параметров с помощью @
Возможный дубликат:
Что означает символ @перед именем переменной в С#?
Duplicate:
Что означает символ @перед именем переменной в С#?
Иногда я вижу некоторый код С#, где параметр метода имеет префикс @, например:
public static void SomeStaticMethod( SomeType @parameterName )
{
}
В чем смысл этого? Имеет ли он какое-то важное значение?
Я создаю EventListener в NHibernate, и когда я позволяю VS.NET генерировать методы интерфейса, он генерирует метод OnPostLoad следующим образом:
public class PostLoadEventListener : IPostLoadEventListener
{
public void OnPostLoad( PostLoadEvent @event )
{
}
}
Почему это?
Ответы
Ответ 1
Попробуйте создать переменную с именем class и посмотрите, что произойдет - вы заметите, что получите сообщение об ошибке.
Это позволяет использовать зарезервированные слова как имена переменных.
Не связанный, вы также заметите строки с префиксом @также - это не одно и то же...
string says = @"He said ""This literal string lets me use \ normally
and even line breaks"".";
Это позволяет использовать "литерал" значение строки, то есть вы можете иметь новые строки или символы без экранов и т.д.
Ответ 2
Префикс @позволяет использовать зарезервированные слова, такие как класс, интерфейс, события и т.д. как имена переменных в С#. Таким образом, вы можете сделать
int @int = 1
Ответ 3
Событие - это ключевое слово С#, символ @- escape-символ, позволяющий использовать ключевое слово в качестве имени переменной.