假设我有这个属性
[StringLength(3)]
public string Owner { get; set; }
我如何使用反射让我回到
"[StringLength(3)]"
我不在乎它是以字符串的形式返回,还是必须重建它,但我希望得到可以访问的结果。
假设您的类名为Test
,属性名为Owner
:,那么这应该足够让您开始工作了
var attributeStrings = typeof(Test)
.GetProperty("Owner")
.CustomAttributes
.Select(a =>
string.Format(
"[{0}({1})]",
a.AttributeType.Name.Replace("Attribute",""),
string.Join(", ", a.ConstructorArguments.Select(ca => ca.Value))
));