类型字段与.NET中的嵌套类型
本文关键字:嵌套类型 NET 字段 类型 | 更新日期: 2023-09-27 18:21:17
对于类型,有命令GetFields()和命令GetNestedTypes()。GetFields()不返回嵌套类型。我对字段和嵌套类型之间的区别感到困惑。举例会很有帮助!感谢
字段是直接在类或结构中声明的任何类型的变量。字段是其包含类型的成员。(https://msdn.microsoft.com/en-us/library/ms173118.aspx)
和
类或结构中定义的类型称为嵌套类型。(https://msdn.microsoft.com/en-us/library/ms173120.aspx)
例如,在类中
class Foo
{
private int a;
public class Bar
{
// ...
}
}
a
是一个字段,Bar
是一个嵌套类型。
class Foo {
private String _aField;
private class ANestedClass {
private String _aFieldInANestedClass;
}
}
像这样:
public void Blargh() {
Foo foo = new Foo();
FieldInfo aField = foo.GetType().GetField("_aField");
String aFieldValue = aField.GetValue( foo );
Type[] nestedTypes = foo.GetType().GetNestedTypes();
Type aNestedClass = nestedTypes.Single( t => t.Name == "ANestedClass" );
}