【发布时间】:2011-08-12 01:28:32
【问题描述】:
我有几个分配了属性的类。我最感兴趣的是 FieldLength.MaxLength 值。
/// <summary>
/// Users
/// </summary>
[Table(Schema = "dbo", Name = "users"), Serializable]
public partial class Users
{
/// <summary>
/// Last name
/// </summary>
[Column(Name = "last_name", SqlDbType = SqlDbType.VarChar)]
private string _LastName;
[FieldLength(MaxLength=25), FieldNullable(IsNullable=false)]
public string LastName
{
set { _LastName = value; }
get { return _LastName; }
}
}
我需要知道是否可以为我的类中的属性编写某种扩展方法以返回 FieldLength 属性的 MaxLength 值?
例如。我希望能够写出类似下面的东西……
Users user = new Users();
int lastNameMaxLength = user.LastName.MaxLength();
【问题讨论】:
-
C# 不支持属性本身的扩展方法;你能做的最好的事情就是在属性的返回类型上定义一个扩展方法,这不会实现你想要的。
标签: c# extension-methods custom-attributes propertyinfo