0

我正在尝试根据这些主题使用以下代码获取所有类型:

所以我有这个属性:

public class DataLayerInterfaceAttribute   : System.Attribute
{
    public DataLayerInterfaceAttribute() { }
}

我有这个界面:

[DataLayerInterfaceAttribute]
interface IInterface
{
    void Method(string param);
}

最后我想得到接口类型:

var types = from type in assembly.GetTypes()
            where Attribute.IsDefined(type, typeof(DataLayerInterfaceAttribute))
            select type;

我已经对此进行了测试:

var types = from type in assembly.GetTypes()
            where type.GetCustomAttributes(type,true).Length > 0
            select type;

但是两者的结果都是空的,我不知道为什么。

编辑

我得到这样的程序集:

string assemblyName = System.Reflection.Assembly.GetExecutingAssembly().Location;
byte[] assemblyBytes = File.ReadAllBytes(assemblyName);
Assembly assembly = Assembly.Load(assemblyBytes);
4

0 回答 0