我需要设计一个类,其中一个属性名称必须是return
,但是当我创建一个属性名称return
时,我会收到错误。
经过一番研究后,我发现可以通过在C#中添加@
前缀,或者在VB.NET中用方括号[]
括起来,将保留关键字用作属性或变量名。 。例如:
var @class = new object();
所以这是我的班级设计代码。
public class Person
{
string _retVal;
public string @return
{
get { return _retVal; }
set { _retVal = value; }
}
}
...
Person p = new Person();
p.@return = "hello";
现在我没有收到任何错误,但是当我尝试访问属性名称return
时,我需要写出@return
之类的名称,这是我不想要的。我想访问属性名称p.return = "hello";
而不是p.@return = "hello";
,所以我想知道是否有办法做到这一点?
答案 0 :(得分:26)
你做不到。它是保留关键字。那意味着“你不能”。与“上下文关键字”形成对比,后者通常意味着“我们之后添加了这些关键字,因此我们需要它在一些预先存在的场景中工作”。
这里适度的答案是:使用@return
。
这里更好的答案是:重命名您的财产。也许是ReturnValue
。
也可以选择Return
- 但您可能也需要考虑不区分大小写的语言。
答案 1 :(得分:0)
您可以重命名名称空间,如下所示:
using Test = System.Diagnostics;
答案 2 :(得分:-2)
无法实现此目的,因为保留关键字是预定义的保留标识符,对编译器具有特殊含义。
最好更改属性名称并在代码中使用它......在@Marc回答中给出的内容......