如何使用 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";所以我想知道是否有任何方法可以做到这一点?

如何使用 C# 保留关键字作为不带 @ 前缀的属性名称

你不能。这是一个保留关键字这意味着"你不能"。与"上下文关键字"相反,"上下文关键字"通常意味着"我们稍后添加了它,因此我们需要它在某些预先存在的场景中工作"。

这里的温和答案是:使用@return

这里更好的答案是:重命名您的财产。也许ReturnValue.

还可以选择Return - 但您可能还需要考虑不区分大小写的语言。

您可以像这样重命名命名空间:

using Test = System.Diagnostics;

无法实现此目的,因为保留关键字是预定义的保留标识符,对编译器具有特殊含义。

最好更改属性名称并在代码中使用它...@Marc回答中给出的东西...