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()