С # Обобщает ограничения new () с типом: (new (T))

Я создаю небольшого помощника для преобразования объектов EF4 в POCO. (Я знаю, что есть AutoMapper, но сейчас у меня дилемма ac #)

Как я могу заставить эту работу (, где P: new (E) недопустим Я хочу убедиться, что класс P (POCO) как конструктор, который принимает класс E (следовательно, обработка преобразования)

Как я могу заставить это работать?

Как я могу создать универсальную функцию на C #, которая может принимать новое ограничение (тип)?

   public static List<P> ListConvert<E, P>(List<E> efList) where P: new(E)
    {
        List<P> pList = new List<P>();

        foreach (E item in efList)
        {
            P myItem = new P(item);
            pList.Add(myItem);
        }
        return pList;
6
задан Dani 13 January 2011 в 17:12
поделиться