にリフレクションを使用して文字列値で、未知の列挙型のインスタンスを作成します。 .Enum、私の値はミステリー列挙型の項目に一致するint値です。実行時に、私は列挙型のSystem.Typeをを持っており、BaseTypeはシステムであることを確認しているとき、私は列挙型のインスタンスを作成する方法を正確にワークアウト問題を抱えているのC#
私はこれまで持っているコードは、以下に示すように、上述しただけの論理です。
if (Type.GetType(type) != null)
{
if (Type.GetType(type).BaseType.ToString() == "System.Enum")
{
return ???;
}
}
私は過去に列挙型を扱う常にイム混乱し、私が解析しようとしています列挙コードの時点ではなく、このシナリオでは知っているとGoogleに優しい方法で、私の質問を明確少し運を持っていました...私は通常のような何かをするだろう
(SomeEnumType)int
しかし、私は、コードタイムでEnumTypeを知っていないので、私は同じことを達成することができますか?
少しあなたが後に何をしたいか何を混乱さ「を返すに???」と、なぜあなたは、この場合には反射が必要なのです。同じ(SomeEnumType)型を使用して型をSomeEnumTypeにキャストできます。 – outcoldman
問題は、私は実行時に任意の列挙型である可能性がありますかわからないです..リターン??? [/コード] –
この行 'Type.GetType(タイプ).BaseType.ToString()== "System.Enum"; [コード] Enum.Parse(Type.GetType(タイプ)、OB)のようなものであろう'オブジェクトは' SomeEnumType'から 'SomeEnumType'に変換する必要があるのですか?あなたはこれで何を達成したいと考えているのですか? – outcoldman