Klasa ogólna z parametru typu

Czy istnieje sposób na utworzenie klasy ogólnej z parametru type.

Mam coś takiego:

<code>public class SomeClass
{
    public Type TypeOfAnotherClass { get; set; }
}

public class OneMoreClass
{
}

public class GenericClass<T>
    where T : class
{
    public void DoNothing() {}
}

public class GenericClass
{
    public static GenericClass<T> GetInstance<T>(T ignored)
        where T : class
    {
        return new GenericClass<T>();
    }
}
</code>

Chcę utworzyć GenericClass z typu. Dawny:

<code>var SC = new SomeClass();
SC.TypeOfAnotherClass = typeof(OneMoreClass);
var generic = GenericClass.GetInstance(SC.TypeOfAnotherClass);

Assert.AreEqual(typeof(GenericClass<OneMoreClass>), generic.GetType());
</code>

Tutaj spodziewam się uzyskać wystąpienieGenericClass<OneMoreClass> ale dostajęGenericClass<Type>

Próbowałem również użyć instancji tego typu. Dawny:

<code>var generic = GenericClass.GetInstance(Activator.CreateInstance(SC.TypeOfAnotherClass));
</code>

Tym razem dostanęGenericClass<object>

Czy istnieje sposób na wykonanie tego zadania?

questionAnswers(2)

yourAnswerToTheQuestion