C# IsAssignableFrom & IsInstanceOfType & IsSubclassOf & Is

时间:2020-05-04 14:42:39   收藏:0   阅读:89

直观测试代码如下:

    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


        }
    }

  

原文:https://www.cnblogs.com/honk/p/12826404.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!