Ich möchte einige Operationen nach einem bestimmten Sammlungstyp (mit Reflexion), unabhängig von der generischen Typ machen.
Hier ist mein Code:
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
}
}
Im Moment funktioniert es, aber mir wird klar, dass dies nicht die sicherste Lösung ist.
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
}
}
Das habe ich auch versucht, es kompiliert zwar, aber es funktioniert nicht... Ich habe auch versucht, alle Schnittstellen des gegebenen Sammlungstyps zu testen, aber das impliziert eine Exklusivität für Schnittstellen in Sammlungen...
Ich hoffe, ich habe mich klar ausgedrückt, mein Englisch ist unzureichend :)