如何将数据注释的使用限制为特定属性的数据类型?
我有一个继承自 ValidationAttribute 的验证属性。但是,此属性的特定用法仅适用于列表(实际上是 IEnumerable)。如何指定此属性的用法仅用于从 IEnumerabe 继承的项目?谢谢。
I have a validation attribute that inherits from ValidationAttribute. However, the particular usage of this attribute applies to lists only (IEnumerable really). How can I specify the usage of this property to only be used with items that inherit from IEnumerabe? Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您是否正在寻找编译时间检查?如果是这样那就不可能了。
AttributeTargets
枚举(与AttributeUsageAttribute
一起使用)用于确定属性的去向,而且非常简单。在运行时,您可以检查类型是否为 IEnumerable 类型,如果不是,则抛出异常。Are you looking for a compile time check? If so that's not possible. The
AttributeTargets
enum (used with theAttributeUsageAttribute
) is as far as it goes on determining where attributes can go, and it's pretty simple. At run time you can check to see if the type is of typeIEnumerable
and throw an exception if not.