コード例 #1
0
        public void ContravarianceTest()
        {
            ContravarianceDelegate <BaseClass> b = input => input.Update();

            // ContravarianceDelegate<BaseClass> => ContravarianceDelegate<DerivedClass>로 implicit conversion.
            // 반대로는 불가능.
            ContravarianceDelegate <DerivedClass> d = b;
        }
コード例 #2
0
        private static void ContravarianceInvoke()
        {
            ContravarianceDelegate del = TextWriterMethod;

            TextWriter tw = null;

            Console.WriteLine("Invoking Contravariance");
            del((StreamWriter)tw);
        }