zoukankan      html  css  js  c++  java
  • Type.IsAssignableFrom 方法

      方法:

    public virtual bool IsAssignableFrom (
    	Type c
    )

    1、如果 c 和当前 Type 表示同一类型
    2、当前 Type 在 c 的继承层次结构中
    3、当前 Type 是 c 实现的接口4
    4、或者 c 是泛型类型参数且当前 Type 表示 c 的约束之一,则为 true
    如果上述情况都不符合,或者 c 为 空引用(在 Visual Basic 中为 Nothing),则为 false

    示例:
    class Program
        {
            static void Main(string[] args)
            {
                B b = new B();
                var type = Type.GetType(b.ToString());
                Console.WriteLine(typeof(A).IsAssignableFrom(type));//继承
                Console.WriteLine(typeof(IA).IsAssignableFrom(type));//实现接口
                Console.WriteLine(typeof(B).IsAssignableFrom(type));//同一类型true
                Type g1 = typeof(generic1<B>);//4
                Type g2 = typeof(generic2<B>);
                Console.WriteLine("g1.IsAssignableFrom(g2): {0}", g1.IsAssignableFrom(g2));
            }
    
        }
        public interface IA
        {
            void Test();
        }
        public class A
        {
        }
        public class B :A, IA
        {
            public void Test()
            {
                Console.WriteLine("hello world");
            }
        }
        class generic1<T> { }
        class generic2<T> : generic1<T> { }
    
    
  • 相关阅读:
    C# Volatile
    C#索引器
    04Prism WPF 入门实战 Module
    No module named '_bz2'
    pandas day01
    实例讲解虚拟机3种网络模式(桥接、nat、Hostonly)
    asp.net 截屏 截取web页面
    c# winform 截图 网页
    delphi AddObject 用法
    DBGrid 更变数据内容显示
  • 原文地址:https://www.cnblogs.com/zhangzhi19861216/p/4980906.html
Copyright © 2011-2022 走看看