Как получить List <T>full dynamic? - PullRequest
0 голосов
/ 22 февраля 2012

Я хотел бы создать небольшую функцию, которая возвращает List<T> динамический.

Вот что у меня есть.

   public List<T> GetLookupList<T>()
    {
        PersonalLinksEntities dbContext = new PersonalLinksEntities();

        var resultList = dbContext.????

        return resultList.toList();
    }

Что мне делать с dbContext здесь?

Большое спасибо всем!

перефразировать

Вот что я сделал.

Шаг 1: Добавить новый элемент -> ADO.NET Entity Data Model, автоматически сгенерировать объекты. Шаг 2: Создана нерабочая функция выше.

Ответы [ 2 ]

1 голос
/ 22 февраля 2012

Просто верните List<dynamic>. Нет необходимости в общем параметре T Вам также может понадобиться преобразовать вашу коллекцию в динамическую, используя что-то вроде collection.Cast<dynamic>().

РЕДАКТИРОВАТЬ
После вашей перефразировки я до сих пор не знаю, полностью ли я понимаю ваш вопрос. Если вы пытаетесь передать тип и получить коллекцию из контекста этого типа, вам будет лучше просто реализовать этот код в ваших базовых классах. Чтобы сделать несколько строк, вам понадобится сделать рефлексию, что не стоит потери производительности или ясности кода.

0 голосов
/ 22 февраля 2012

Добавить ToList() реализацию к PersonalLinksEntities

public class PersonalLinksEntities<T>
{
   ... 

   public List<T> ToList()
   {
      //construct List here and return
   }
}

и после

public List<T> GetLookupList<T>()
{
        PersonalLinksEntities dbContext = new PersonalLinksEntities();
        return dbContext .ToList<T>();

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...