我见过很多人使用以下代码:
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)
就个人而言,我觉得最后一个是最干净的,但有什么我想念的吗?哪一个最好用,还是个人喜好?
我有两个成员类型作为字符串 - 而不是类型实例.如何检查这两种类型是否可浇铸?假设字符串1是"System.Windows.Forms.Label",另一个是"System.Windows.Forms.Control".如何检查第一个是否是第二个的子类(或隐式可转换)?这是否可以通过使用反射?
感谢你的支持!
c# ×2