Я хочу выполнить некоторые операции в соответствии с заданным типом коллекции (используя рефлексию )независимо от универсального типа.
Вот мой код:
void MyFct(Type a_type)
{
// Check if it's type of List<>
if (a_type.Name == "List`1")
{
// Do stuff
}
// Check if it's type of Dictionary<,>
else if (a_type.Name == "Dictionary`2")
{
// Do stuff
}
}
Пока он работает, но мне становится очевидно, что это не самое безопасное решение.
void MyFct(Type a_type)
{
// Check if it's type of List<>
if (a_type == typeof(List<>))
{
// Do stuff
}
// Check if it's type of Dictionary<,>
else if (a_type == typeof(Dictionary<,>))
{
// Do stuff
}
}
Я тоже так пробовал, компилируется, но не работает... Я также попытался протестировать все интерфейсы данного типа коллекции, но это подразумевает эксклюзивность для интерфейсов в коллекциях...
Надеюсь, я ясно выразился, моя неподготовленность к английскому языку:)