C# 用c语言实现java函数#
我有这个用Java编写的generi接口和类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
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
{
}