这被编译器接受:
FieldInfo[] fieldInfos;
fieldInfos = typeof(MyClass).GetFields(BindingFlags.NonPublic | BindingFlags.Instance);
这不被编译器接受:
FieldInfo[] fieldInfos;
fieldInfos = typeof(this.GetType()).GetFields(BindingFlags.NonPublic | BindingFlags.Instance);
如何修复第二个语法?
最佳答案
您不需要 typeof()
围绕 GetType
调用,因为它已经返回一个 Type 对象。 typeof
是一种特殊语法,用于从类型名称获取 Type
对象,而无需执行类似 Type.GetType("Foo")
的操作。
FieldInfo[] fieldInfos;
fieldInfos = GetType().GetFields(BindingFlags.NonPublic |
BindingFlags.Instance);
关于c# - 如何在C#反射中列出当前类的字段(this.GetType()问题)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4836900/