Ich versuche, eine benutzerdefinierte Sammlung basierend auf Stack<T>
zu erstellen. Wenn ich Stack<T>
[von Metadaten] in Visual Studio anschaue, zeigt es, dass Stack<T>
implementiert ICollection
, die es ICollection
CopyTo(Array array, index)
Methode implementieren würde, aber stattdessen wird gezeigt, wie 's CopyTo(T[] array, index)
Methode. Kann jemand erklären, warum das so ist?Stack <T> implementiert ICollection, hat aber Methoden von ICollection <T>
Ich versuche, eine Sammlung zu erstellen, die Stack<T>
ziemlich stark nachahmt. Wenn ich ICollection
als Stapel implementieren, erfordert es, dass ich die Methode CopyTo(Array array, index)
verwenden, aber was ich wirklich wollen ist die CopyTo(T[] array, index)
Methode, wie Stack<T>
tut. Gibt es einen Weg dies zu erreichen ohne ICollection<T>
zu implementieren?
Die Methoden sind explizit implementiert. Explizit implementierte Methoden sind nicht öffentlich und würden daher nicht in den Metadaten angezeigt (die nur öffentliche Eigenschaften auflisten). –
Sie könnten .NET Reflector versuchen, den tatsächlichen vollständigen Quellcode von 'Stack' zu sehen, einschließlich privater Methoden. –
mellamokb
@JeffMercado Wow ... Ich kann nicht glauben, dass es so einfach war. Ich habe mich immer gefragt, was "Explizit Implement suchsuch" bedeutet. Vielen Dank. –