Объявить параметр универсального типа как имеющий деструктор?

У меня есть общий класс, который начинается с:

public class EntityContextFactory<T>
    where T: class, IDisposable, IObjectContextAdapter, new()

Позже в классе, когда у меня есть метод, содержащий:

            T context = HttpContext.Current.Items[objectContextKey] as T;
            if (context != null)
            {
                context.Dispose();
                GC.SuppressFinalize(context);
                HttpContext.Current.Items.Remove(objectContextKey);
            }

, я получаю предупреждение от ReSharper, в котором говорится, что GC.SuppressFinalize вызывается для типа без деструктора. Как мне убрать эту ошибку? Я знаю, что у Dbcontexts есть деструктор, потому что, когда я пишу этот тип класса не в общем, я не получаю такой ошибки. Я попытался объявить, что T реализует те же интерфейсы, что и Dbcontext, но это, похоже, не сработало ...

0
задан SventoryMang 18 January 2012 в 17:10
поделиться