所以我有这个简单的问题,我正在努力。请考虑以下代码:
win.debugger.sendCommand('Debugger.enable', {}, function() {
setBreakpoint(win);
});
此函数抛出语法错误,因为namespace Foo
{
public class Bar
{
public void Test(string object)
{
}
}
}
是C#中的关键字。有办法解决这个问题吗?在我的真实代码中,我有一个使用函数签名来创建API的框架,我应该使用object
名称作为参数。
答案 0 :(得分:4)
在参数名称@object
之前使用@将关键字用作标识符
public void Test(string @object)
来自C#语言规范2.4.2 Identifiers:
本节中给出的标识符规则完全符合Unicode标准附件建议的规则 31,除了允许下划线作为初始字符(原样) 传统的C编程语言),Unicode转义序列 在标识符中允许使用,并且允许“@”字符作为a 前缀以使关键字可用作标识符。
答案 1 :(得分:2)
@符号允许您使用保留字。例如:
int @class = 15;
以上作品,如下所示:
int class = 15;