Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将属性上的typeof()参数仅限于特定类型…这可能吗?_C#_Attributes_Types - Fatal编程技术网

C# 将属性上的typeof()参数仅限于特定类型…这可能吗?

C# 将属性上的typeof()参数仅限于特定类型…这可能吗?,c#,attributes,types,C#,Attributes,Types,我正在使用基于属性的验证,我想限制在这些属性中可以输入的内容 例: 所以就用它吧 [ThisValidatesSomething(typeof(MassiveFailureException))] public int SomeIntParameter() 有没有办法限制可以在此属性中输入的类型 我想将类型参数限制为仅从名为“SuperSpecialBaseException”的基类派生的类型 在泛型中,我只会使用类型约束“where T:SuperSpecialBaseException”,

我正在使用基于属性的验证,我想限制在这些属性中可以输入的内容

例:

所以就用它吧

[ThisValidatesSomething(typeof(MassiveFailureException))]
public int SomeIntParameter()
有没有办法限制可以在此属性中输入的类型

我想将类型参数限制为仅从名为“SuperSpecialBaseException”的基类派生的类型


在泛型中,我只会使用类型约束“where T:SuperSpecialBaseException”,但当然,这不是泛型(属性限制)

而不是编译时特性。这相当于只能接受10到20之间的
int
参数;这种检查必须在代码中执行,不能声明。

不,在编译时没有办法这样做。您需要对参数进行运行时验证

[ThisValidatesSomething(typeof(MassiveFailureException))]
public int SomeIntParameter()