說我有這個C#類C#如何使用反射調用字段初始值設定項?
public class MyClass {
int a;
int[] b = new int[6];
}
現在說我使用反射發現這個類,並在注視場我發現其中有一個是數組類型(即:B)
foreach(FieldInfo fieldinfo in classType.GetFields())
{
if(fieldInfo.FieldType.IsArray)
{
int arraySize = ?;
...
}
}
我知道它不能保證數組有一個字段初始值設定項來創建數組,但是如果它有,我想知道由字段初始值設定項創建的數組的大小。
有沒有辦法調用字段初始值設定項?
如果有,我會做這樣的事情:
Array initValue = call field initializer() as Array;
int arraySize = initValue.Length;
唯一的是,我發現是創建整個類的實例,但因爲它是大材小用,我寧願不做這樣的...
什麼是不需要整個班級的用例? –
您將不得不深入構造函數的MethodBody來檢查。 – leppie