如何使用 C# 保留关键字作为不带 @ 前缀的属性名称
本文关键字:前缀 属性 何使用 保留 关键字 | 更新日期: 2023-09-27 18:36:25
我需要设计一个必须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";
所以我想知道是否有任何方法可以做到这一点?
你不能。这是一个保留关键字。这意味着"你不能"。与"上下文关键字"相反,"上下文关键字"通常意味着"我们稍后添加了它,因此我们需要它在某些预先存在的场景中工作"。
这里的温和答案是:使用@return
。
这里更好的答案是:重命名您的财产。也许ReturnValue
.
还可以选择Return
- 但您可能还需要考虑不区分大小写的语言。
您可以像这样重命名命名空间:
using Test = System.Diagnostics;
无法实现此目的,因为保留关键字是预定义的保留标识符,对编译器具有特殊含义。
最好更改属性名称并在代码中使用它...@Marc回答中给出的东西...