zoukankan      html  css  js  c++  java
  • C# IsAssignableFrom & IsInstanceOfType & IsSubclassOf & Is

    直观测试代码如下:

        public partial class NaviControl : UserControl, ITestControl
        {
            public NaviControl()
            {
                InitializeComponent();
                Load += NaviControl_Load;
            }
    
            private void NaviControl_Load(object sender, EventArgs e)
            {
                Debug.Print($"Base.IsAssignableFrom:");
                Debug.Print($"{typeof(UserControl).IsAssignableFrom(this.GetType())}");//True
                Debug.Print($"{typeof(ITestControl).IsAssignableFrom(this.GetType())}");//True
                Debug.Print($"This.IsAssignableFrom:");
                Debug.Print($"{this.GetType().IsAssignableFrom(typeof(UserControl))}");//False
                Debug.Print($"{this.GetType().IsAssignableFrom(typeof(ITestControl))}");//False
                Debug.Print($"Base.IsInstanceOfType:");
                Debug.Print($"{typeof(UserControl).IsInstanceOfType(this)}");//True
                Debug.Print($"{typeof(ITestControl).IsInstanceOfType(this)}");//True
                Debug.Print($"This.IsSubclassOf:");
                Debug.Print($"{this.GetType().IsSubclassOf(typeof(UserControl))}");//True
                Debug.Print($"{this.GetType().IsSubclassOf(typeof(ITestControl))}");//False
                Debug.Print($"This.Is:");
                Debug.Print($"{(this is UserControl)}");//True
                Debug.Print($"{(this is ITestControl)}");//True
    
    
            }
        }
    

      

  • 相关阅读:
    socket-重叠模型(overlap)
    ssh 免密登陆
    安装google 框架
    为什么不同网段的ip 不能直接通信
    python中的import,reload,以及__import__
    C Runtime Library、C  Runtime
    SQLite3 C/C++ 开发接口简介
    mysql添加索引语句
    mysql 字段左右补0
    @Transactional注解的失效场景
  • 原文地址:https://www.cnblogs.com/honk/p/12826404.html
Copyright © 2011-2022 走看看