将盒装类型评估为C#中的类型

时间:2019-06-12 16:01:19

标签: c# types unboxing

我的应用程序使用装箱的Type对象,以后我需要对其进行评估,然后再将其取为Type类型。这样实现...

public void MyFunc(params Object[] args)
{
    Debug.Assert(args[0].GetType().Equals(typeof(Type)));
}

即使我可以在调试器中检查自变量并确认它正确,它始终评估为false。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

@p.s.w.g指出,您可能试图将RuntimeType与Type进行比较。

通过使用模式匹配,您可以查看所讨论的对象是否源自如下类型:

args[0] is Type

Microsoft Doc on Pattern Matching