8

1つのプロパティ名が必要なクラスを設計する必要がありますが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 に答える
-3

これを達成する方法はありません。予約済みのキーワードは、コンパイラにとって特別な意味を持つ事前定義された予約済みの識別子だからです。

プロパティの名前を変更してコードで使用することをお勧めします... @Marcの回答で指定されたもの...

于 2012-06-06T10:48:28.880 に答える