У меня иногда была причина написать адаптеры класса коллекции, то есть создать адаптер для класса, который реализует IList<T>
прокси его методов, добавив некоторые дополнительные функции.Интерфейс IList
имеет множество методов / свойств, мне было интересно, могут ли прямые прокси-методы быть реализованы динамически?Я посмотрел на DynamicObject
, но смог найти только несколько простых примеров, которые прокси-классы DTO, т.е. прокси-класс, который просто имеет свойства.
Возможно ли проксирование IList<T>
?
например
public class ListProxy : IList<T>
{
private IList<T> _adaptee;
public ListProxy(IList<T> adaptee)
{
_adaptee = adaptee
}
// dynamically implement straight-through IList methods / properties
}