示例#1
0
        static void Main(string[] args)
        {
            ConcreteClass instance = new ConcreteClass();
            // instance.         ----Ничего не видно

            IInterface1 instance1 = instance as IInterface1;

            instance1.Method();//один метод //ОН ВИДЕН ПОТОМУ, ЧТО ВСЕ МЕТОДЫ В ИНТЕРФЕЙСАХ ПО УМОЛЧАНИЮ PUBLIC!!!

            IInterface2 instance2 = instance as IInterface2;

            instance2.Method();
            instance2.Method();//другой метод  //ОН ВИДЕН ПОТОМУ, ЧТО ВСЕ МЕТОДЫ В ИНТЕРФЕЙСАХ ПО УМОЛЧАНИЮ PUBLIC!!!

            //Delay
            Console.ReadKey();
        }
示例#2
0
        static void Main(string[] args)
        {
            ConcreteClass instance = new ConcreteClass();

            IInterface1 instance1 = instance as IInterface1;

            instance1.Method();

            IInterface2 instance2 = instance as IInterface2;

            instance2.Method();

            Console.ReadKey();
        }
示例#3
0
        static void Main(string[] args)
        {
            DerivedClass instance = new DerivedClass();

            //instance. - не видит методов интерфейса

            //Для этого апкастим к базовому интерфейсному типу
            IInterface1 instance1 = instance as IInterface1;

            instance1.Method();

            IInterface2 instance2 = instance as IInterface2;

            instance2.Method();
        }
示例#4
0
        static void Main()
        {
            ConcreteClass instance = new ConcreteClass();
                        //instance.Method ();

                        IInterface1 instance1 = instance as IInterface1;

            instance1.Method();

            IInterface2 instance2 = instance as IInterface2;

            instance2.Method();

                        // Delay.
                        Console.ReadKey();
        }
示例#5
0
        static void Main(string[] args)
        {
            DerivedClass instance = new DerivedClass();
            // instance.   -- //На экземпляре не видим private методов интерфейсов!

            //Приведем экземпляр класса DerivedClasss - instance, к базовому интервейсному типу IInterface1
            IInterface1 instance1 = instance as IInterface1;

            instance1.Method();

            IInterface2 interface2 = instance as IInterface2;

            interface2.Method();

            //Но мы можем увидить методы, которые public
            instance.Method3();
            //Delay
            Console.ReadKey();
        }