Кто-нибудь объяснит мне, почему в тексте CollectionBase
класс (в System.Collections
, который происходит от IList
), у него нет IList
членов? Я думал, что это обязательно.CollectionBase нет реализации IList?
ответ
Он реализует IList
explicitly, так что вам нужно, чтобы бросить свой CollectionBase
экземпляр IList
для доступа к этим членам.
IList list = (IList)collectionBase;
list.Add(...);
Когда я проверяю определение для CollectionBase, я вижу, что не из них, они должны быть явно определены в CollectionBase или нет? – Mikatsu
@ Mikatsu - Я не уверен, откуда вы получаете определение, но если вы посмотрите [здесь] (http://msdn.microsoft.com/en-us/library/system.collections.collectionbase.aspx) и прокрутите вниз до «Явные реализации интерфейса», вы увидите, что он явно реализует «IList» и «ICollection». – Lee
Я добавил изображение на стартовой странице, почему он отличается от msdn? Я использую F12 в Visual Studio. – Mikatsu
[** It **] (http://msdn.microsoft.com/en-us/library/system.collections.collectionbase.aspx) реализует, например. 'IList.Add, IList.Contains, IList.IndexOf, IList.Insert, IList.IsFixedSize, IList.IsReadOnly, IList.Item, IList.Remove'. Так в чем вопрос? –
Thats точно, что я ищу, но когда я проверяю определение CollectionBase i can not see no IList implementation ... – Mikatsu
Где вы ищете _definition_ of CollectionBase? Я всегда смотрю сначала в MSDN: http://msdn.microsoft.com/en-us/library/system.collections.collectionbase.aspx –