1

我知道这已经出现了很多次,就像在这个这个问题中一样,并且它清楚地写在MSDN上,但是如果我不能将函数作为参数传递给属性,那么System.ComponentModel.DataAnnotations.ValidationAttribute怎么能做到呢?

我在这里想念什么?这个内置属性是否只能有一个 Func< TResult > 作为参数?如果可能的话,它也可以是带有输入参数的 Func 吗?

我的最终目标是能够定义用于序列化属性的函数。整个事情就是运行时代码生成魔法,所以我真的不需要琐碎的替代品来做到这一点。我确实有一个解决方法,但使用 Func 会容易得多。

4

1 回答 1

1

您可以将委托用作属性构造函数的参数 - 您不能以声明方式这样做。

现在在这种情况下,无论如何它只是一个受保护的构造函数 - 所以它打算从派生类中调用,例如RangeAttribute,这可能会为基构造函数提供一个适当的委托。

于 2013-01-19T18:50:53.150 回答