У меня есть класс, состоящий из нескольких списков, и у меня есть универсальные методы, позволяющие мне выполнять CRUD (и другие) операции над этими списками.
Я в основном пытаюсь сделать вариант DbContext.Set<T>
с List
.
Это моя ситуация:
public class A
{
private IList<B> Bs;
private IList<C> Cs;
public A()
{
Administrators = new List<B>();
Developers = new List<C>();
}
public void Add<T>(T entity)
{
var propertyIWant = this.GetType().GetProperties().Where(p => p.GetType() == typeof(IList<T>));
var propertyAsList = propertyIWant as List<T>;
propertyAsList.Add(entity);
}
public void Delete<T>(T entity)
{
//Same idea
}
//Other methods
}
Проблема в том, что мой код дает мне список нужного типа, но не фактический список (то есть собственность).Поэтому любые модификации этого списка не изменяют свойство.
Я бы хотел иметь возможность сделать что-то похожее на A.List<T>
, чтобы получить список этого типа (как DbContext
может сделать с DbContext.Set<T>
).