Создание родового свойства посредством отраженияC#

Место общения программистов C#
Anonymous
Создание родового свойства посредством отражения

Сообщение Anonymous »

Я пытаюсь получить свойство DbContext DbSet по его имени, но не знаю, как обрабатывать общий параметр.

Код: Выделить всё

DataSource.Load(IQueryable source)Метод 
поступает из внешней библиотеки DLL, и я не могу его изменить.
Зная имя свойства моей опоры DbSet (из класса Entity Framework DbContext), я хочу использовать это значение свойства в качестве параметра для DataSource.Load:

Код: Выделить всё

 public class DataManager
{
private MyDbContext _dbContext;

public DataManager(MyDbContext dbContext)
{
_dbContext = dbContext;
}

public object Load(string propName)
{
var source = _dbContext.GetType().GetProperty(entityName).GetValue(_dbContext, null);

return DataSourceLoader.Load(source);
}

// DataSourceLoader.Load signature:
// DataSourceLoader.Load(System.Linq.IQueryable)
}
Обновление
Чтобы быть понятнее: DataSourceLoader.Load загружает данные из набора сущностей; Меня не волнует тип возвращаемого значения, поскольку он будет сериализован и отправлен клиентскому плагину.
Клиентский плагин запрашивает данные с помощью ajax-вызова, используя имя объектаentitySet в качестве параметра. Я не хочу иметь отдельный метод (или длинный оператор переключения) для каждого имеющегося у меня набора сущностей и статически вызывать метод DataSource.Load.
Я хотел бы разрешить набор сущностей для запроса во время выполнения

Подробнее здесь: https://stackoverflow.com/questions/446 ... reflection

Вернуться в «C#»