C#基礎 Type IsAssignableFrom 類是否實現了指定的接口

慈心積善融學習,技術願爲有情學。善心速造多好事,前人栽樹後乘涼。我今於此寫經驗,願見文者得啓發。


  •    .NET Framework : 4.6.1
  •                           ide : visual studio 2017 community
  •                             os : win7 x86_64
  •            type setting : markdown
  •                         blog : https://blog.csdn.net/yushaopu
  •                     github : https://github.com/GratefulHeartCoder

code

using System;

namespace ConsoleApp
{
    public interface ISayHello
    {        
        void SayHello();
    }

    class Can : ISayHello
    {
        public void SayHello()
        {
            throw new NotImplementedException();
        }
    }

    class No
    {

    }

    class Program
    {
        static void Main(string[] args)
        {
            Type tpISayHello = typeof(ISayHello);
            Type tpCanClass = typeof(Can);
            Type tpNoClass = typeof(No);

            if (tpISayHello.IsAssignableFrom(tpCanClass))
            {
                Console.WriteLine(tpCanClass.Name + "實現了接口" + tpISayHello.Name);
            }
            else
            {
                Console.WriteLine(tpCanClass.Name + "沒有實現接口" + tpISayHello.Name);
            }

            if (tpISayHello.IsAssignableFrom(tpNoClass))
            {
                Console.WriteLine(tpNoClass.Name + "實現了接口" + tpISayHello.Name);
            }
            else
            {
                Console.WriteLine(tpNoClass.Name + "沒有實現了接口" + tpISayHello.Name);
            }

            Console.ReadKey();
        }
    }

}

result

Can實現了接口ISayHello
No沒有實現了接口ISayHello

resource


感恩曾經幫助過 心少樸 的人。
C#優秀,值得學習。
Console,WinForm,WPF,ASP.NET,Azure WebJob,WCF,Unity3d可以適當地瞭解一下。
注:此文是自學筆記所生,質量中下等,故要三思而後行。新手到此,不可照搬,應先研究其理象數,待能變通之時,自然跳出深坑。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章