修改默认类型参数

时间:2013-05-01 22:00:35

标签: c# generics

我正在使用泛型,如下所示:

public override ValidationResult SelfValidate()
{
    return ValidationHelper.Validate<VendorValidator, Vendor>(this);
}

但是,我似乎无法让语法完全正确,允许我传入一个不同的验证器来覆盖VendorValidator类型参数。我希望能够使用Type数据类型。

1 个答案:

答案 0 :(得分:1)

您应该添加泛型类型参数:

public override ValidationResult SelfValidate<T>()
{
    return ValidationHelper.Validate<T, Vendor>(this);
}

您可以这样使用它:

this.selfValidate<VendorValidator>();

注意:我看到你正在覆盖一个方法。如果您无法更改基本方法,则无法使用此功能。