Csharp/C#教程:有没有办法在C#中获取内部类的列表?分享


有没有办法在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

(0)
上一篇 2021年12月28日
下一篇 2021年12月28日

精彩推荐