1

你们知道对象实例的With语句在访问对象实例的属性和属性时有多大影响吗?完全限定的对象引用有多“昂贵”?

懒得通过基准来检查自己,我想在这里问一下;也许有人以前做过基准测试。

我正在考虑类似的东西

Dim ObjectInstance
Set ObjectInstance=New MyClass

With ObjectInstance
  SomeField=Value
  SomeProperty=Value
End With

相对

Dim ObjectInstance
Set ObjectInstance=New MyClass

ObjectInstance.SomeField=Value
ObjectInstance.SomeProperty=Value

当然,我可能有数十或数百个任务。如果类引用带有实例变量的实例,我可能会嵌套 With 语句。

其他询问方式:

使用 With 语句取消引用对象实例 ONCE 是否正确,而完全限定的引用需要一次又一次地取消引用所有内容?

注意我们说的是Visual Basic Sc​​ripting Edition,子部门Visual Basic Sc​​ripting Host,它是一种非常晚绑定(too late-binding?:-))的解释器语言。

4

1 回答 1

0

好的,我没有做精确的测量。但是,我可以看到,在我的机器上,成百上千个完全合格的作业几乎不需要任何时间,不到十分之一秒,而其他工作则需要更长的时间。

因此,只要所涉及的属性设置器相当琐碎,我就永远不会With仅仅出于性能原因创建语句。

换句话说:一个反例是 QTP 测试对象。在这里更频繁地执行 aWith是有意义的,因为对测试对象的每一次尊敬都可能导致 QTP 在 AUT GUI 中查找 GUI 对象。在这里,With'ing 可能是有道理的。但是,一旦您需要,这就会变得如此明显,With因为那时事情会变得非常缓慢。

所以这一切仍然是对规则的承认:

不要过早优化。

于 2011-05-18T10:11:36.523 回答