Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 执行:if(对象\实例为类型)_C#_Actionscript 3 - Fatal编程技术网

C# 执行:if(对象\实例为类型)

C# 执行:if(对象\实例为类型),c#,actionscript-3,C#,Actionscript 3,我同时使用C和ActionScript3。这两种语言都具有类型识别功能,因此您可以执行以下验证: if (some_object_instance is SomeClassName_ThatIs_SomeType) 我在一些地方做这种验证。这可能是个愚蠢的问题,但我还是会问,我希望C和ActionScript两个阵营都能给出答案: 幕后发生了什么?是反射吗?如果是,这不是一个很长的验证,如果在数千个循环中进行,可能会降低性能吗?我所说的性能下降是指,它是否比C或更好的put:ILCode中的M

我同时使用C和ActionScript3。这两种语言都具有类型识别功能,因此您可以执行以下验证:

if (some_object_instance is SomeClassName_ThatIs_SomeType)
我在一些地方做这种验证。这可能是个愚蠢的问题,但我还是会问,我希望C和ActionScript两个阵营都能给出答案:


幕后发生了什么?是反射吗?如果是,这不是一个很长的验证,如果在数千个循环中进行,可能会降低性能吗?我所说的性能下降是指,它是否比C或更好的put:ILCode中的Math.sqrt8>Math.sin10更密集,它被编译成指令。读得不错。

在C或更好的语言中,它被编译成指令。这本书读得很好。

嗯,这是反射,不是。is语句将使运行时检查包含该类型的程序集的清单,以检查继承层次结构。编程反射也会做同样的事情。但是,在本例中,它是使用一种内置到运行时中的更轻量级和更具体的方法来完成的,而不是从System.Reflection命名空间中获得的方法。

好吧,这是反射,而不是反射。is语句将使运行时检查包含该类型的程序集的清单,以检查继承层次结构。编程反射也会做同样的事情。但是,在这种情况下,它是使用运行时内置的一种比System.Reflection命名空间提供的更轻量级和更具体的方法来完成的。

这可能不是反射,至少对C来说不是。我也确定性能在C中不是问题。不过,我不能对Flash播放器或AIR说太多。即使速度很慢,你还有其他选择吗?如果它很慢-你会避免使用它吗?我敢说,人们可以使用OOP技术来避免进行类型检查。通常有更整洁的方式/模式可以实现特定类型的行为。你可能是正确的花钱者,但有些情况确实需要类型检查,并且不能被多态化是的,我编造了这个词。也就是说,你为什么不直接使用ILDASM,看看生成了什么IL?虫族:这是为了我的睡眠质量::-D.斯宾德:这是真的,但问题是:如果这不是问题,我需要过度设计吗?这可能不是反射,至少对C来说不是。我也确定性能在C中不是问题。不过,我不能对Flash播放器或AIR说太多。即使速度很慢,你还有其他选择吗?如果它很慢-你会避免使用它吗?我敢说,人们可以使用OOP技术来避免进行类型检查。通常有更整洁的方式/模式可以实现特定类型的行为。你可能是正确的花钱者,但有些情况确实需要类型检查,并且不能被多态化是的,我编造了这个词。也就是说,你为什么不直接使用ILDASM,看看生成了什么IL呢?泽克姆斯:这是为了我的睡眠质量::-D.斯宾德:没错,但问题是:如果这不是问题,我需要过度设计吗?他太懒了,没有谷歌搜索这个主题,一直等到有人发布它;-+1懒得用谷歌搜索该主题,并一直等到有人发布该主题;-+1.