考虑这样的方法声明:
public void MethodName(string param){
// method body
}
然后像这样调用它:
obj.@MethodName("some string");
@在方法名称之前有什么作用? 就像把它放在包含转义字符的字符串之前一样吗?
答案 0 :(得分:12)
这用于允许您将保留字用作标识符,例如类名,委托和方法。例如:long
:
namespace ConsoleApp4
{
internal class Program
{
private static void Main(string[] args)
{
@long();
}
public static void @long ()
{
// Some logic here
}
}
}
删除@
,它将无法编译。它不经常使用。
请注意,如果将long
都更改为long2
并删除第二个@
,则代码将正常编译。因此,@
的使用意味着您可以调用作为保留字的方法名称-但如果方法名称不是保留字也可以使用
请注意,@前缀不构成标识符本身的一部分。因此,@ myVariable与myVariable相同。