java C#模板参数作为模板接口
我正试图将这段代码从Java翻译成C#,但我很难找到正确的synthax
爪哇:
public class MyClass<T extends IMyInterface<T>>
我试图翻译成C#:
public class MyClass<T, U> where T: IMyInterface<U>
如果我执行public class MyClass<T> where T: IMyInterface<T>
,则类声明中没有编译错误,但我无法确定如何使用该类
更具体地说,我有一个接口IPoint<T>
,它由类EuclideanPoint:IPoint<EuclideanPoint>
实现。另外,我还有一个模板类Clusterer<U>
,它不应该关心接口的模板参数,它应该只确保U是IPoint类型
多谢各位
# 1 楼答案
看起来不错
如果你有
然后你可以使用
# 2 楼答案
不,Java的C#等价物只是:
Java中有一个类型参数,C#中有一个类型参数
如何使用该类将取决于
IMyInterface<T>
是什么以及它的实现方式。例如,如果它是IEquatable<T>
,您可以创建一个MyClass<int>
,因为int
实现了IEquatable<int>