相关疑难解决方法(0)

C#"是"运算符 - 是反射吗?

一位同事今天问我一个有趣的问题 - C#关键字/运算符"是否被认为是反思?

object tmp = "a string";
if(tmp is String)
{
}
Run Code Online (Sandbox Code Playgroud)

这个操作符是如何在幕后实现的?它需要反思还是内省?或者由于语言的强类型性质,对象的类型是否可以作为内存中对象的顶级属性立即访问?

MSDN声明:

请注意,is运算符仅考虑引用转换,装箱转换和拆箱转换.is运算符不考虑其他转换,例如用户定义的转换.

考虑盒装和非盒装转换的能力似乎意味着某种内省.

.net c# reflection introspection typing

29
推荐指数
2
解决办法
7146
查看次数

标签 统计

.net ×1

c# ×1

introspection ×1

reflection ×1

typing ×1