【发布时间】:2010-11-17 03:54:15
【问题描述】:
我正在尝试将对象传递给 Attributes 构造函数,如下所示:
[PropertyValidation(new NullOrEmptyValidatorScheme())]
public string Name { get; private set; }
有了这个属性构造函数:
public PropertyValidationAttribute(IValidatorScheme validator) {
this._ValidatorScheme = validator;
}
代码无法编译。如上所述,如何将对象传递给属性?
编辑:是的 NullOrEmptyValidatorScheme 实现了 IValidatorScheme。
错误:错误CS0182:属性参数必须是属性参数类型的常量表达式、typeof表达式或数组创建表达式。
【问题讨论】:
-
什么是编译错误?你确定
NullOrEmptyValidatorScheme实现了IValidatorScheme? -
就属性语法而言,这是有效的代码,因此它必须与您的对象有关。
-
@kek444 - 不,不是...我将规范部分添加到我的回复中...
标签: c# attributes