8

我需要设计一个必须有一个属性名称的类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";所以我想知道是否有任何方法可以做到这一点?

4

3 回答 3

27

你不能。它是一个保留关键字。这意味着“你不能”。与“上下文关键字”形成对比,这通常意味着“我们稍后添加了这个,所以我们需要它在一些预先存在的场景中工作”。

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

这里更好的答案是:重命名您的属性。也许ReturnValue

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

于 2012-06-06T10:46:58.987 回答
-1

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

using Test = System.Diagnostics;
于 2018-02-01T13:26:07.337 回答
-3

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

最好更改属性名称并在代码中使用它...@Marc 答案中给出的内容...

于 2012-06-06T10:48:28.880 回答