如果我在接口中有许多属性,但在示例中我将只使用一个属性,因为它演示了我想要实现的目标。
interface IFoo
{
[Bar()]
string A { get; set; }
}
class Base { }
class Foo : Base, IFoo
{
public string A { get; set; }
}
所以当我这样做时:
Foo f = new Foo();
f.A = "Value";
Attribute b = Attribute.GetCustomAttribute(f.GetType().GetProperty("A"), typeof(Bar));
我期待能够得到我的Bar
属性的实例。其中大部分是在泛型类中完成的,我将我的属性用于验证模型,因此我不能隐式转换为接口然后在接口中获取属性的属性,因为我永远不知道接口将是什么类型或者什么类型将实现它。例如,我需要某种方法从我的实例中获取属性Base
。
public void GenericMethod<T>(T instance) where T : Base
{
//Get my instance of Bar here.
}
我希望我想做的事情很清楚,在此先感谢。