在 C# 中评估盒装类型作为类型

Evaluating Boxed Type as Type in C#

我的应用程序使用了一个装箱的 Type 对象,我稍后需要在拆箱之前评估它的类型 Type。这是这样实现的...

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

尽管我可以在调试器中检查该参数并确定它是正确的,但它的计算结果始终为 false。有什么想法吗?

指出,您可能试图将 RuntimeType 与类型进行比较。

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

args[0] is Type

Microsoft Doc on Pattern Matching