私はvs 2012を使用しています。単純な文字列プロパティがあります
string _someString;
public string MyString
{
get
{
return _someString;
}
}
このプロパティに特定の値のみを保持させたい。そのため、クライアントがこのプロパティを使用する場合、これらの特定の値のみを使用できます。
私はvs 2012を使用しています。単純な文字列プロパティがあります
string _someString;
public string MyString
{
get
{
return _someString;
}
}
このプロパティに特定の値のみを保持させたい。そのため、クライアントがこのプロパティを使用する場合、これらの特定の値のみを使用できます。
あなたが本当に欲しいのは次のように聞こえます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();
次のように列挙型を使用します。
enum MyEnum
{
AllowableValue#1,
AllowableValue#2,
...
}
public MyEnum myEnum { get; set; }
次に、いくつかの UI 要素に列挙型の値のみを入力します。
次に、セッターでいくつかの検証を行いたいと思います。
public string MyString
{
get
{
return _someString;
}
set
{
if (value == "a" || value == "b" /* ... */)
_someString = value;
else
throw new InvalidArgumentException("Invalid value!");
}
}
実際のメンバー変数ではなく、プロパティを介して設定してください。