Liran
Liran

Reputation: 830

implement java function in c#

I have this generi interface and class in written in Java

public abstract class MyRootAbstractClass<W>
{
}

public abstract class MyDerivedAbstractClass<W extends MyRootFatherClass>
{
}

Notice :MyRootFatherClass (in MyDeriveAbstractClass declaration) doesn't asks for generic type (<W>).

Is any one knows How can i convert this code to C#???

Upvotes: 0

Views: 105

Answers (2)

Darin Dimitrov
Darin Dimitrov

Reputation: 1039120

You could use a generic constraint:

public abstract class MyRootAbstractClass<W>
{
}

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

Upvotes: 5

Jon Skeet
Jon Skeet

Reputation: 1502106

Looks to me like:

public abstract class MyRootAbstractClass<T>
{
}

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

The where T : MyRootFatherClass is a generic type constraint so that you can't create a MyDerivedAbstractClass<T> for arbitrary T types - only MyRootFatherClass and subclasses.

Note that I've renamed W to T in order to follow .NET naming conventions.

Upvotes: 5

Related Questions