示例#1
0
        public static void InvariantGeneric()
        {
            IInvariantGeneric <MiddleClass> genericMiddle = new InvariantGeneric <MiddleClass>();
            MiddleClass result = genericMiddle.Method(new MiddleClass());

            // This will produce compile-time error:
            // Cannot implicitly convert type 'IInvariantGeneric<MiddleClass>' to 'IInvariantGeneric<BaseClass>'.
            // An explicit conversion exists (are you missing a cast?)
            //// IInvariantGeneric<BaseClass> genericBase = genericMiddle;

            // This will produce compile-time error:
            // Cannot implicitly convert type 'IInvariantGeneric<MiddleClass>' to 'IInvariantGeneric<LastClass>'.
            // An explicit conversion exists (are you missing a cast?)
            //// IInvariantGeneric<LastClass> genericLast = genericMiddle;
        }
示例#2
0
        private static void WithInvariantGeneric()
        {
            IInvariantGeneric <MIddleClass> invariantGeneric = new InvariantGeneric <MIddleClass>();

            invariantGeneric.Method(new MIddleClass());
        }