C# 用c语言实现java函数#

C# 用c语言实现java函数#,c#,java,.net,C#,Java,.net,我有这个用Java编写的generi接口和类 public abstract class MyRootAbstractClass<W> { } public abstract class MyDerivedAbstractClass<W extends MyRootFatherClass> { } 公共抽象类MyRootAbstractClass { } 公共抽象类MyDerivedAbstractClass { } 注意:MyRootFatherClass(在My

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

public abstract class MyRootAbstractClass<W>
{
}

public abstract class MyDerivedAbstractClass<W extends MyRootFatherClass>
{
}
公共抽象类MyRootAbstractClass
{
}
公共抽象类MyDerivedAbstractClass
{
}
注意
:MyRootFatherClass
(在MyDeriveAbstractClass声明中)不要求泛型类型(

有人知道如何将此代码转换为C吗?

在我看来:

public abstract class MyRootAbstractClass<T>
{
}

public abstract class MyDerivedAbstractClass<T> where T : MyRootFatherClass
{
}
公共抽象类MyRootAbstractClass
{
}
公共抽象类MyDerivedAbstractClass,其中T:MyRootFatherClass
{
}
其中T:MyRootFatherClass
是一个泛型类型约束,因此您无法为任意
T
类型(仅
MyRootFatherClass
和子类)创建
MyDerivedAbstractClass

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

您可以使用:

公共抽象类MyRootAbstractClass
{
}
公共抽象类MyDerivedAbstractClass,其中W:MyRootFatherClass
{
}

实际上,您只有两个泛型抽象类……它不编译,在实现MyRootFatherClass时需要插入泛型类型(例如:MyRootFatherClass)示例编辑:公共抽象类MyDerivedAbstractClass,其中W:MyRootFatherClass.JAVA在将泛型类(MyRootFatherClass)声明为约束时不要求声明泛型类型。
public abstract class MyRootAbstractClass<W>
{
}

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