[C#] Можно ли переложить выполнение методов интерфейса на одно из полей класса?

программирование C# .net

Вопрос запутанный, поэтому поясню жизненным примером. Есть класс SomeCollection, который среди прочего должен реализовать IList<SomeObject>. Среди полей SomeCollection есть поле private List<SomeObject> _items. Можно ли реализовать интерфейс, просто переложив реализацию её методов на _items, который заведомо реализует нужный нам интерфейс? Понятно, что можно просто все методы интерфейса реализовать вручную, например,
public void Insert(int index, SomeObject item)
{
_items.Insert(index,item);
}
но может есть способ сделать это разом для всех методов и пропертей? Рассматриваются любые варианты - как директивы, методы и другие средства языка, о которых я не знаю, так и генераторы кода в виде плагинов для студии.

Примечание:
Унаследоваться от списка или коллекции не получится, потому, что C# не поддерживает множественное наследование, а у моего класса уже есть предок (Component)
Ответы:
А в чём состоит задумка? Возможно её проще реализовать по другому. Например унаследовать от List<SomeObject> или Collection<SomeObject> и получить реализацию IList<SomeObject> бесплатно.
Не знаю таких средств, которые помогли бы тебе. Скорее всего их нет. Может будет в следующей версии шарпа, типа какие-нибудь анонимные интерфейсы))
А так ли Вам нужно, чтобы интерфейс реализовывал сам компонент? Может лучше добавить свойство, которое бы возвращало внутреннюю коллекцию?
public IList<SomeObject> Items{
   get{
       return _items;
   }
}


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.