Anton Zinchenko
Anton Zinchenko

Reputation: 3

generic base class where T is other generic base class

I have an abstract generic class:

public abstract class SomeBaseClass<U,V>
{
}

I want to create other generic class:

public abstract class SomeOtherBaseClass<T1, T2> where T1 : SomeBaseClass<U,V>
{
    private readonly T1 _someBaseClass;

    public SomeOtherBaseClass(T1 someBaseClass)
    {
        _someBaseClass = someBaseClass;
    }
}

How can i do this?

Upvotes: 0

Views: 506

Answers (3)

Bonshington
Bonshington

Reputation: 4032

public abstract class SomeOtherBaseClass<T1, T2> where T1 : SomeBaseClass<T1,T2>

Upvotes: 0

t0rx
t0rx

Reputation: 363

This may give you what you need:

public abstract class SomeOtherBaseClass<U, V, T2> 
{
    private readonly SomeBaseClass<U, V> _someBaseClass;

    public SomeOtherBaseClass(SomeBaseClass<U, V> someBaseClass)
    {
        _someBaseClass = someBaseClass;
    }
}

Upvotes: 1

max
max

Reputation: 34407

public abstract class SomeOtherBaseClass<T1, T2, U, V>
    where T1 : SomeBaseClass<U, V>

Upvotes: 3

Related Questions