直观测试代码如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
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
}
} |
直观测试代码如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
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
}
} |