相关疑难解决方法(0)

类型检查:typeof,GetType还是?

我见过很多人使用以下代码:

Type t = typeof(obj1);
if (t == typeof(int))
    // Some code here
Run Code Online (Sandbox Code Playgroud)

但我知道你也可以这样做:

if (obj1.GetType() == typeof(int))
    // Some code here
Run Code Online (Sandbox Code Playgroud)

或这个:

if (obj1 is int)
    // Some code here
Run Code Online (Sandbox Code Playgroud)

就个人而言,我觉得最后一个是最干净的,但有什么我想念的吗?哪一个最好用,还是个人喜好?

c#

1435
推荐指数
8
解决办法
93万
查看次数

检查类型是否为可转换/子类

我有两个成员类型作为字符串 - 而不是类型实例.如何检查这两种类型是否可浇铸?假设字符串1是"System.Windows.Forms.Label",另一个是"System.Windows.Forms.Control".如何检查第一个是否是第二个的子类(或隐式可转换)?这是否可以通过使用反射?

感谢你的支持!

c#

16
推荐指数
3
解决办法
1万
查看次数

标签 统计

c# ×2