有没有办法在C#中获取内部类的列表?
根据标题。 我想要一个给定类的所有内部类的列表,它可以是一个名称列表或类型列表 – 我不是很好。 这可能吗? 我以为可能有一种方法使用reflection但却找不到reflection。
非常感谢,托马斯
你想要Type.GetNestedTypes 。 这将为您提供类型列表,然后您可以查询其名称。
不是Type.GetNestedTypes
做你想要的吗?
请注意,如果你想获得“双嵌套”类型,你需要递归 – 因为Foo.Bar.Baz是Foo.Bar中的嵌套类型,而不是Foo。
对于“现代”环境(.NET 4.5,PCL,UWA等),您需要使用TypeInfo.DeclaredNestedTypes
,例如type.GetTypeInfo().DeclaredNestedTypes
,使用GetTypeInfo()
扩展方法 。
Type[] nested = typeof(SomeClass).GetNestedTypes();
就在这里。 使用Type.GetNestedTypes()
。
Type.GetNestedTypes( )将返回指定Type的公共嵌套类型。
如果您还需要私有和内部嵌套类型,则必须调用Type.GetNestedTypes(BindingFlags bindingFlags)方法,如下所示:
上述就是C#学习教程:有没有办法在C#中获取内部类的列表?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
Type[] nestedTypes = typeof(MyType).GetNestedTypes(BindingFlags.Static | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1003794.html