3

私はvs 2012を使用しています。単純な文字列プロパティがあります

 string _someString;

 public string MyString
  {
     get
       {
          return _someString;
       }

   }

このプロパティに特定の値のみを保持させたい。そのため、クライアントがこのプロパティを使用する場合、これらの特定の値のみを使用できます。

4

3 に答える 3

3

あなたが本当に欲しいのは次のように聞こえますenum

public enum MyValues //TODO rename all the things
{
    SomeValue,
    SomeOtherValue,
    FinalValue,
}

次に、プロパティは次のようになります。

private MyValues value;
public  MyValues MyValue
{
    get { return value; }
}

その値の文字列表現を取得する必要がある場合はToString、列挙値を呼び出すだけです。

string stringValue = value.ToString();
于 2013-02-13T19:51:28.393 に答える
2

次のように列挙型を使用します。

enum MyEnum
{
AllowableValue#1,
AllowableValue#2,
...
}

public MyEnum myEnum { get; set; }

次に、いくつかの UI 要素に列挙型の値のみを入力します。

于 2013-02-13T19:52:33.667 に答える
0

次に、セッターでいくつかの検証を行いたいと思います。

public string MyString
{
    get
    {
        return _someString;
    }
    set
    {
        if (value == "a" || value == "b" /* ... */)
            _someString = value;
        else
            throw new InvalidArgumentException("Invalid value!");
    }
}

実際のメンバー変数ではなく、プロパティを介して設定してください。

于 2013-02-13T19:51:21.127 に答える