2
以下のコードでは、文字列(例: "medium")をEnum値に変換しています。私が行うことができる必要があるのは、不透明度を固定のEnum型として持つことではなく、Enum型で関数が動作するように引数として渡します。これは私が予想していたより難しいと証明されています。つまり、 'Enum MyEnum'は機能しません。誰にも解決策?Enumを引数として渡すにはどうすればよいですか?
public enum Opacity
{
Low,
Medium,
High
}
public static Enum StringToEnum(String str)
{
return (Opacity)Enum.Parse(typeof(Opacity), str, true); // Case insensitive
}
YetAnotherUserは、あなたが尋ねた質問に対する正しい答えを提供しますが、 'Enum.Parse'を包むのポイントは何ですか? 'StringToEnum'メソッドは新しい値を追加せず、呼び出すメソッドの名前だけを変更します。 – Mike
@あなたのところにはちょうど名前の変更です - 複数のバリデーションを追加するためにこれを強化することはできますが、_string names_を属性に定義することをサポートし、単に 'SomeArbidObject.StringRepresentingOpacity.StringToEnum 'などなど。本質的に、あなたが望むなら、もっと便利にすることができます。 –
YetAnotherUser