我有这个用Java编写的通用接口和类

public abstract class MyRootAbstractClass<W>
{
}

public abstract class MyDerivedAbstractClass<W extends MyRootFatherClass>
{
}


注意,:MyRootFatherClass(在MyDeriveAbstractClass声明中)不要求泛型(<W>)。

有谁知道如何将这段代码转换为C#?

最佳答案

在我看来:

public abstract class MyRootAbstractClass<T>
{
}

public abstract class MyDerivedAbstractClass<T> where T : MyRootFatherClass
{
}


where T : MyRootFatherClass是通用类型约束,因此您不能为任意MyDerivedAbstractClass<T>类型(仅T和子类)创建MyRootFatherClass

请注意,为了遵循.NET命名约定,我已将W重命名为T

关于c# - 在C#中实现Java函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6913985/

10-16 19:02