Getting fields of a class through reflection
I've done it a gazillion times in the past and successfully so. This time, I'm suffering from lapses of amnesia.
So, I am just trying to get the fields on an object. It is an embarrassingly simple and stupid piece of code that I am writing in a test solution before I do something really useful in production code.
Strangely, the GetFieldsOf method reports a zero length array on the "Amazing" class. Help.
class Amazing
{
    private NameValueCollection _nvc;
    开发者_如何学运维protected NameValueCollection _myDict;
}
private static FieldInfo[] GetFieldsOf(string className, 
        string nameSpace = "SomeReflection")
    {
        Type t;
        return (t = Assembly.GetExecutingAssembly().GetType(
             string.Format("{0}.{1}", nameSpace, className)
             )) == null ? null : t.GetFields();
    }
Have a look at BindingFlags.
Try to set at least BindingFlags.Instance | BindingFlags.NonPublic in your GetFields() call.
 
         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论