Let's say I have a generic method:
private static void GenericMethod<T1, T2>()
where T1 : SomeClass1
where T2 : SomeClass2
{
// Stuff
}
And I have structure that maps enum
to some type, like this:
private static Dictionary<Enum, (Type, Type)> mappings =
new()
{
{
Enum.Value,
(typeof(DerivedFromSomeClass1), typeof(DerivedFromSomeClass2))
}
};
Now I want to call GenericMethod
and use types from mapping as a substitute to T1, T2
, like so:
var mappingType1 = mappings[enum].Item1;
var mappingType2 = mappings[enum].Item2;
GenericMethod<mappingType1, mappingType2>();
Obviously you can't do this, but... is there a way to achieve what I have in mind? Like I want to map some types to enum and then use type from enum as generic type of a method (T
)?