Wie bekomme ich den Typ einer generischen typisierten Klasse innerhalb der Klasse?.NET: Wie überprüft man den Typ innerhalb einer generischen typisierten Klasse?
Ein Beispiel:
Ich baue eine generische typisierte Sammlung ICollection < T> implementieren. Innerhalb ich habe Methoden wie
public void Add(T item){
...
}
public void Add(IEnumerable<T> enumItems){
...
}
Wie kann ich für den gegebenen Typ innerhalb der Methode fragen T?
Der Grund für meine Frage ist: Wenn Objekt verwendet wird, wie T die Sammlung hinzufügen verwendet (Objektpunkt) anstelle von Add (IEnumerable < object> enumItems), auch wenn der Parameter IEnumerable ist. Im ersten Fall würde also die gesamte aufzählbare Sammlung als ein Objekt anstelle mehrerer Objekte der aufzählbaren Sammlung hinzugefügt.
Also brauche ich so etwas wie
if (T is object) {
// Check for IEnumerable
}
aber das ist natürlich in C# nicht funktionieren kann. Vorschläge?
Vielen Dank!
Michael
Dies beantwortet die Frage im Titel gefragt. – reads0520