0
因为我没有在我的Google和网站搜索中看到这个问题的答案,所以我认为我会在这个网站上构成伟大的头脑。由于C#不支持泛型属性(这是有道理的),我想知道是否有办法将参数/属性的类型限制为基于它装饰的类型的属性。例如:自定义属性和类型检查
[AttributeUsage(AttributeTargets.Property)]
public class ColumnBindAttribute : Attribute
{
public string ColumnName { get; set; }
public object DefaultValue { get; set; }
}
[ColumnBind(ColumnName = "Category", DefaultValue = "No Category")]
public int CategoryId { get; set; }
现在清楚,当我尝试将此属性为它的默认值绑定,我会收到一个错误投。好奇的是,如果无论如何强制将DefaultValue的类型强制为int,还是仅限于运行时检查。
在此先感谢