0
我搜索了但沒有找到正確的答案。C#反射類字段
假設我們有一個類,如:
public sealed Class Foo{
public static readonly Foo x;
public static readonly Foo y;
public static readonly Foo z;
public static readonly Foo t;
public string Name{get;}
public int Value{get;}
public Foo(string name,int val){//properties sets here}
}
而且我有一個像enum
:
public enum FooFinder{
x,
y,
z,
t
}
在不同庫這個Foo類稱爲FooLib.dll
和我創建FooFinder
。
我想使用我的枚舉類返回Foo.x,Foo.y類型。
private static Foo GetFoo (FooFinder Level)
{
FieldInfo[] props = typeof(Foo).GetFields();
foreach (FieldInfo item in props)
{
if (item.Name == Enum.GetName(typeof(FooFinder), Level))
{
// I could create an instance of Foo with Activator.CreateInstance()
// but I want to return Foo class' chosen field by FooFinder enum
}
}
}
我希望我能解釋我想要做什麼。那麼我怎樣才能通過反思得到Foo類的選擇領域呢?或我可以得到?
可能是[有用知道](https://msdn.microsoft.com/en-us/library/ms229043(V = vs.110)的.aspx) 。至於問題,你不會將實例傳遞給方法,所以它必須從某個地方獲取實例。只有你從哪裏知道。 – Sinatr
所有這些靜態字段(x,y,z,t)的類型是什麼? –
你的意思是你想要獲得該領域的_static價值,或者你難以找到合適的領域?如果是這樣,那麼它是[這個問題]的副本(http://stackoverflow.com/questions/5898385) –