Я пытаюсь создать пользовательскую коллекцию на основе Stack<T>
. Когда я смотрю на Stack<T>
[из метаданных] в визуальной студии, это показывает, что Stack<T>
реализует ICollection
, что потребовало бы его для реализации ICollection
CopyTo(Array array, index)
, но вместо этого оно показано как CopyTo(T[] array, index)
. Может кто-нибудь объяснить, почему это так?Стек <T> реализует ICollection, но имеет методы от ICollection <T>
Я пытаюсь создать коллекцию, которая имитирует Stack<T>
довольно сильно. Когда я реализую ICollection
в качестве стека, он требует, чтобы я использовал метод CopyTo(Array array, index)
, но то, что я хочу , это использовать метод CopyTo(T[] array, index)
, например Stack<T>
. Есть ли способ достичь этого без внедрения ICollection<T>
?
Методы реализованы явно. Явно реализованные методы не являются общедоступными и, следовательно, не будут отображаться в метаданных (в которых перечислены только публичные свойства). –
Вы можете попробовать .NET Reflector, чтобы увидеть полный полный исходный код 'Stack', включая частные методы. –
mellamokb
@JeffMercado Вау ... Я не могу поверить, что все было так просто. Я всегда задавался вопросом, что означало «Явно Реализовать suchnsuch». Благодарю. –