C#基础 Type IsAssignableFrom 类是否实现了指定的接口

版权声明:知识来源于智慧与善良并存的师傅们,亦当回报给智慧与善良并存的人们。 https://blog.csdn.net/yushaopu/article/details/82313452

慈心积善融学习,技术愿为有情学。善心速造多好事,前人栽树后乘凉。我今于此写经验,愿见文者得启发。


  •    .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#优秀,值得学习。.NET Core具有跨平台的能力,值得关注。
Console,WinForm,WPF,ASP.NET,Azure WebJob,WCF,Unity3d,UWP可以适当地了解。
注:此文是自学笔记所生,质量中下等,故要三思而后行。新手到此,不可照搬,应先研究其理象数,待能变通之时,自然跳出深坑。

猜你喜欢

转载自blog.csdn.net/yushaopu/article/details/82313452