对象@object是什么意思

Joe*_*icz 12 c# keyword

我一直在玩事件和代表,需要异步提升我的事件,因此我一直在使用:

public event EventHandler OnHelloEvent;

public void Raise()
{
    IAsyncResult syncResult = OnHelloEvent.BeginInvoke(this, new EventArgs(), null, null)
Run Code Online (Sandbox Code Playgroud)

在Intellisense中,最后一个null被声明为object @object.我之前没有遇到这个,似乎无法找到任何文档.

这是什么意思?它有用吗?

Nat*_*son 22

@标志可以被认为是"逃离"各种各样的角色.由于object是C#中的关键字,因此不能将其用作变量名.但是在它@前面加上一个字符,它不再是一个关键字,只是一个有效的变量名!


sta*_*tch 9

@允许您使用保留关键字作为参数的名称.


mwi*_*son 5

这是转义保留字的特殊字符,以便它们可以用作标识符.

参见规范的第2.4.2节.