检索 C# 中命名空间内的所有类
要获取 C# 中特定命名空间内的所有类,请使用以下技术:
使用以下命令获取目标程序集中的所有类型Assembly.GetTypes().
根据命名空间过滤获取的类型。使用Where和String.Equals将每种类型的命名空间与所需的命名空间相匹配。
使用ToArray()将结果类型集合转换为数组。
示例:
using System.Reflection; private Type[] GetTypesInNamespace(Assembly assembly, string nameSpace) { return assembly.GetTypes() .Where(t => String.Equals(t.Namespace, nameSpace, StringComparison.Ordinal)) .ToArray(); }
要使用此方法,请使用目标程序集和命名空间调用它:
Type[] typelist = GetTypesInNamespace(Assembly.GetExecutingAssembly(), "MyNamespace");
对于版本.Net 2.0 之前:
Assembly myAssembly = typeof(Namespace.someClass).GetTypeInfo().Assembly; Type[] typelist = GetTypesInNamespace(myAssembly, "Namespace");
以上是如何从 C# 中的特定命名空间检索所有类?的详细内容。更多信息请关注PHP中文网其他相关文章!