我有以下自定义属性,我希望将类型名称作为属性。但是,我不想在使用属性时必须使用类型的字符串表示。例子:
public class HelpMeAttribute : Attribute
{
public string TypeName { get; set; }
}
为了使用它,我想这个
[HelpMe(TypeName = typeof(MyClass2).FullName]
public class MyClass1
{
}
public class MyClass2
{
}
我收到错误:“属性必须是属性参数类型的常量表达式、typeof 表达式或数组创建表达式。”
我宁愿不这样做:
[HelpMe(TypeName = "MyClass2"]
因为在字符串中输入类型似乎很糟糕。最好让编译器检查我放入属性的类型是否存在。
有人可以指出我的启蒙之路来解决这个问题吗?