我们有一个从ValidationAttribute继承的现有定制类。这个类对我们的c#数据模型类的枚举属性值做了一些基本的验证。在定制属性属性中获取枚举类型
属性类的构造函数需要一个Type参数,用于匹配该属性应用于的字段的类型。
我想获得具有该属性的字段的类型,而不必将其作为参数传递给该属性。
这是可以轻松完成的事吗?
我们有一个从ValidationAttribute继承的现有定制类。这个类对我们的c#数据模型类的枚举属性值做了一些基本的验证。在定制属性属性中获取枚举类型
属性类的构造函数需要一个Type参数,用于匹配该属性应用于的字段的类型。
我想获得具有该属性的字段的类型,而不必将其作为参数传递给该属性。
这是可以轻松完成的事吗?
你不能从属性容易做到这一点。你必须use reflection to get the class及其属性,这是由属性装饰,并从那里你有访问。从属性代码中你不知道哪个对象是它的目标,所以无法访问它们PropertyInfo
s
但为此,你需要一个已经存在的类型句柄......你似乎同意在属性内部不可能。 – DrewJordan
这是可以轻松完成的事情吗?
不,不幸的是,这是无法完成的事情。该属性无权访问应用它的成员。
你能留下一段代码,以便我们更好地了解你要求的内容? – t3dodson
您是否尝试过使用'typeof(fieldObject)'? – Alexandru