在自定义 属性 属性中获取枚举类型

Get enum type inside custom property attribute

我们有一个继承自 ValidationAttribute 的现有自定义 class。 class 在我们的 c# 数据模型 classes.

上对枚举 属性 值进行一些基本验证

属性 class 的构造函数采用 Type 参数,该参数旨在匹配应用该属性的字段类型。

我想获取具有属性的字段类型,而不必将其作为参数传递给属性。

这是不是很容易就能完成的事情?

Is this something that can be done easily?

不,不幸的是,这是根本无法完成的事情。该属性无权访问应用它的成员。

您不能从属性 中轻松地做到这一点 。您必须 use reflection to get the class 及其由属性装饰的属性,并且您可以从那里访问两者。从属性代码中您不知道哪个对象是它的目标,因此无法访问它们的 PropertyInfos