如何获得一个引用的字段属性
-
19-09-2019 - |
题
我有一个问题: 是否有一个基准场得到属性的一种优雅的方式。 即:
public class C1: Base
{
[MyAttribute]
public string Field1;
}
public class Base
{
private void Do(ref string field)
{
if (field has attributes)
DoSomething();
}
}
我怎样才能得到一个字段属性的方法DO()?
预先感谢。
解决方案
有没有办法,你可以做到这一点ref string field
签名。属性应用于声明(字段,类,事件等),而不是“实例”。
您的能有什么的做的,就是改变你的方法是这样的:
private void Do(Type fieldContainingType, string fieldName, ref string field)
和然后使用反射来检查fieldContainingType
看,哪些属性被应用到字段中指定fieldName
。然而这种方法,是极其脆弱,并且通常很不好。
不隶属于 StackOverflow