В моем соглашении об именах я использую _name для закрытых переменных-членов. Я заметил, что если я автоматически сгенерирую конструктор с помощью ReSharper, если член является ключевым словом, он сгенерирует ключевое слово escape Например:
class IntrinsicFunctionCall
{
private Parameter[] _params;
public IntrinsicFunctionCall(Parameter[] @params)
{
_params = @params;
}
}
Это вообще считается плохой практикой или это нормально? Это происходит довольно часто с @params и @ interface.
РЕДАКТИРОВАТЬ: Это на самом деле не добавляет префикс к имени переменной. Если получить доступ к этой переменной из другого языка .NET, то есть F #, это будет просто params
. На самом деле, в C #, если вы напишите @x
, это в точности эквивалентно x
.