我定义了这个界面:
public interface IOwlAnnotation2<T1, T2, T3>
{
T1 OwlAnnotation { get; set; }
T2 OwlClass { get; set; }
T3 AnnotationValue { get; set; }
}
现在我想为它派生一个类...所以我写道:
public class OwlAnnotation2 : IOwlAnnotation2<T1, T2, T3>
但是我得到的错误是无法在T1,2,3上解析符号...导出表单的正确方法是什么?
答案 0 :(得分:7)
您必须在实现类中指定类型参数。你可以保持通用:
public class OwlAnnotation2<T1, T2, T3> : IOwlAnnotation2<T1, T2, T3>
或使它们具体化:
public class OwlAnnotation2 : IOwlAnnotation2<string, int, bool>
答案 1 :(得分:4)
使用相同的参数valence创建类泛型,或者让它实现具有确定的类参数的接口版本,具体取决于您真正想要的。
如果类只确定接口的某些类,你也可以混合和匹配,但我想象的可能不是这个问题。