查找具有其命名空间的所有类的名称

时间:2010-09-07 05:05:01

标签: c#

如何在程序集中找到名称空间以MyProject开头并以Attribute结尾的所有类 例如:

MyProject.Model.Attribute or MyProject.Personnel.Jobs.Attribute?

3 个答案:

答案 0 :(得分:1)

您可以使用Linq轻松完成此操作:

var myClasses = GetType().Assembly.GetTypes()
                   .Where(t => t.Namespace.StartsWith("MyProject") && t.Namespace.EndsWith("Attribute"));

答案 1 :(得分:0)

     Assembly assembly = Assembly.GetExecutingAssembly();

     foreach (var type in assembly.GetTypes())
     {
        if (type.Namespace.StartsWith("MyProject") && type.Namespace.EndsWith("Attribute"))
        {
           Console.WriteLine(type.FullName);
        }
     }

答案 2 :(得分:0)

这可以使用LINQ和反射来实现。

var desiredTypes =
                myAssembly.GetTypes().Where(
                    item => item.Namespace.StartsWith("MyProject") && item.Namespace.EndsWith("Attribute"));