我有以下類中定義做驗證:如何投射這個通用界面?
public class DefValidator : IValidate<IDef>
{
}
public interface IDef : IAttribute
{
}
然後,我定義爲這樣的驗證器的列表:
IList<IValidate<IAttribute>> ValidationObjects;
當我嘗試以下方法,它不會編譯說它不能轉換類型。
DefValidator defv = new DefValidator();
ValidationObjects.Add(defv);
當我嘗試以下操作時,它會編譯但會生成一個異常,指出「無法投射對象」。
ValidationObjects.Add((IValidate<IAttribute>)defv);
任何想法?