使用Roslyn,我如何找到属性构造函数的值?因此,给定以下具有属性的类:
[Example(typeof(ClassFromAnotherDll))]
public class ExampleClass
{
public int JustANumber { get; set; }
}
ExampleAttribute
看起来像是这样(虽然来源与上面的解决方案不同):
public class ExampleAttribute : Attribute
{
private readonly Type _type;
public ExampleAttribute(Type type)
{
_type = type;
}
}
我如何获取有关ClassFromAnotherDll
类型的信息(例如属性,构造函数)?
答案 0 :(得分:4)
对任何符号(来自语义模型)调用GetAttributes()
以获取所有应用属性的列表。
然后查看所需属性的ConstructorArguments
。
如果参数是typeof
表达式,则其Value
将为INamedTypeSymbol
。