1 https://www.cnblogs.com/ldyblogs/p/attribute.html
var attributes = property.GetCustomAttributes(true);
foreach (var attribute in attributes)
{
//这里的MaximumLength 最好用常量去做
var maxinumLength = (int)attribute.GetType().GetProperty("MaximumLength").GetValue(attribute, null);
//获取属性的值,
var propertyValue = property.GetValue(obj,null) as string;
Attribute & Reflection !
2 https://www.cnblogs.com/liuxinxin/articles/2265672.html
1 [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)] //no Inherited x
2 [AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = false)] //no Inherited x
3 [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)] //override x
4 [AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)] //can use√
3 https://www.cnblogs.com/wenwuxianren/articles/931674.html
系列 特性 反射 ORM