PropertyInfo - 获取具有属性的Properties
我正在尝试为 Web 表单项目创建自定义属性验证。
我已经可以从我的类中获取所有属性,但现在我不知道如何过滤它们并只获取具有某些属性的属性。
例如:
PropertyInfo[] fields = myClass.GetType().GetProperties();
这将返回所有属性。但是,例如,我如何才能使用“testAttribute”之类的属性返回属性呢?
我已经搜索过这个问题,但经过几次尝试解决这个问题后,我决定在这里问。
I'm trying to create a custom attribute validation for a webform projects.
I already can get all properties from my class, but now i don't know how to filter them and just get the properties that has some attribute.
For example:
PropertyInfo[] fields = myClass.GetType().GetProperties();
This will return me all the properties. But how can i just return the properties using a attribute like "testAttribute", for example?
I've already searched about this but after a few time trying to solve this i decided to ask here.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用 Attribute.IsDefined :
Use
Attribute.IsDefined
:请参阅
GetCustomAttributes()
文档。See documentation for
GetCustomAttributes()
.您可以使用
并简化表达式
You can use
and simplify expression
您可能需要 MemberInfo 的 GetCustomAttributes 方法。如果您专门寻找 TestAttribute,您可以使用:
或者如果您只需要获取全部:
You probably want the GetCustomAttributes method of MemberInfo. If you are looking specifically for say, TestAttribute, you can use:
Or if you just need to get them all: