如何从.NET Reflection中的FieldInfo获取实际控件对象?

时间:2011-05-15 15:48:03

标签: visual-studio-2010 reflection c#-4.0 controls code-injection

我需要使用反射从C#中的fieldInfo对象获取“control”对象。

        Control mainControl = Control.FromHandle(a_hWnd);            
        object oMainControlObject = mainControl;

        FieldInfo[] fieldInfos = oMainControlObject.GetType().GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

对于fieldInfos数组中的每个fieldInfo,我需要获取相应的控制对象。

我的尝试:

    Control oControl  = Control.FromHandle(fieldInfo.FieldHandle.Value); 
    Control oControl  = (Control)FieldInfo.GetValue(mainControl)

第一个返回NULL,第二个不允许我对上述语句进行类型控制。

此致

乌斯曼

1 个答案:

答案 0 :(得分:0)

听起来你想要递归遍历Controls集合。