ケース管理システムの対応するフィールドに列挙型をマップするために使用する独自のエンティティ属性で、自分の列挙型をマークしています。アトリビュートからenumを作成する
列挙型の値から正しい文字列を取得すると問題はありませんが、文字列から列挙型を生成するにはどうすればよいですか?
私はこのことによって開始:
foreach (var fieldInfo in enumType.GetFields())
{
var attribute = (EntityNameAttribute)fieldInfo
.GetCustomAttributes(typeof (EntityNameAttribute), false)
.FirstOrDefault();
if (attribute == null)
continue;
if (attribute.Name != name)
continue;
//got a match. But now what?
}
をしかし、どのように、私は、フィールドから適切な値を得るのですか? fieldInfo.GetValue
を使用できますか?もしそうなら、私はどのようなインスタンスを使うべきですか?列挙型は静的型として扱われるべきですか?
* "generate enum by string" *の意味を理解できませんでした。 '' Red "=> Color.Red'と言いたいのですか? –
@MunimAbdul:他のシステムでは、状態は "01 - Planning"と名前を付けることができます。これは、私のenumのフィールドとして '[EntityName(" 01 - Planning ")] Planning = 1、 – jgauffin