C# 如何限制数据批注';对特定属性的使用';什么是数据类型?

C# 如何限制数据批注';对特定属性的使用';什么是数据类型?,c#,asp.net-mvc,custom-attributes,data-annotations,C#,Asp.net Mvc,Custom Attributes,Data Annotations,我有一个从ValidationAttribute继承的验证属性。但是,此属性的特殊用法仅适用于列表(IEnumerable)。如何将此属性的用法指定为仅用于从IEnumerabe继承的项?谢谢。您正在寻找编译时检查吗?如果是这样,那是不可能的。AttributeTargetsenum(与AttributeUsageAttribute一起使用)用于确定属性可以放在哪里,非常简单。在运行时,您可以检查该类型是否为IEnumerable类型,如果不是,则抛出异常

我有一个从ValidationAttribute继承的验证属性。但是,此属性的特殊用法仅适用于列表(IEnumerable)。如何将此属性的用法指定为仅用于从IEnumerabe继承的项?谢谢。

您正在寻找编译时检查吗?如果是这样,那是不可能的。
AttributeTargets
enum(与
AttributeUsageAttribute
一起使用)用于确定属性可以放在哪里,非常简单。在运行时,您可以检查该类型是否为
IEnumerable
类型,如果不是,则抛出异常