Выполнить неявное приведение во время выполнения

Итак, у меня есть общий класс (в основном это контейнерный класс) с неявным преобразованием типа, например:

public class Container<T>  
{  
        public T Value { get; set; }

        public static implicit operator T(Container<T> t)
        {
            return t.Value;
        }

        public static implicit operator Container<T>(T t)
        {
            return new Container<T>() { Value = t };
        }
} 

Итак, во время выполнения я хотел бы преобразовать экземпляр Container в int с использованием отражения, но, похоже, не могу найти способ. Я пробовал вызывать метод "Cast", упомянутый в нескольких местах, но я получаю Указанное приведение недопустимо. исключение.

Мы будем благодарны за любую помощь.

7
задан Jon Skeet 15 August 2011 в 13:27
поделиться