.NET:在属性中获取属性名称

22 浏览
0 Comments

.NET:在属性中获取属性名称

MyAttribute中,我需要知道关联属性的名称,这可能吗?

编辑:

我需要在文本格式化中使用它。

0
0 Comments

使用PostSharp方面可以解决该问题。我以前有一个类似的问题,几乎是相同的事情。您可以查看答案的注释,了解可能遇到的一些影响的更多信息。

原因:需要在属性上获取属性名称。

解决方法:使用PostSharp方面。

0
0 Comments

在.NET中,通过属性名获取属性名称是不可能的。通常情况下,你可以使用反射来读取给定属性上应用的属性,这样你就已经知道了属性。例如:

var properties = typeof(SomeType).GetProperties();
foreach (var property in properties)
{
    var attributes = property.GetCustomAttributes(typeof(MyAttribute), true);
    if (attributes.Count > 0)
    {
        // 在这里查看property.Name
    }
}

嗯,也许我从相反的角度看待了这个问题,不应该从属性名开始。是的,你应该从一个类型开始,然后获取属性,最后读取应用于给定属性的自定义属性。

0