1. 程式人生 > >c#中的介面查詢(QueryInterface)

c#中的介面查詢(QueryInterface)

介面查詢(QueryInterface)

       一個類可以有多個介面,聲明瞭介面變數並且指向一個物件的時候,這個變數只能使用該介面內的方法和屬性,而不能訪問其他介面中的方法和屬性。但介面查詢很方便的讓我們在一個類中的不同介面間進行切換。

using System;
namespace ConsoleApp1
{
        interface IEat
        {
            void Eat();
        }
        interface IRun
        {
            void Run();
        }
        class Person : IEat, IRun
        {
            public void Eat()
            {
                Console.WriteLine("我喜歡吃東西");
            }
            public void Run()
            {
                Console.WriteLine("我喜歡跑步");
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                IEat eat = new Person();
                eat.Eat();
                IRun run = eat as IRun;
                run.Run();

                Console.ReadKey();
            }
        }
}