!在Visual Basic 6.0中将感叹号()放在对象引用变量前面会做什么?
例如,我在代码中看到以下内容:
    !RelativePath.Value = mstrRelativePath
什么!意思?
Han*_*ant 46
这几乎可以肯定是With块中的一个声明:
  With blah
    !RelativePath.Value = mstrRelativePath
  End With 
这是语法糖
  blah("RelativePath").Value = mstrRelativePath
这是语法糖
  blah.DefaultProperty("RelativePath").Value = mstrRelativePath
其中"DefaultProperty"是具有由字符串索引的dispid零的属性.与ADO Recordset对象的Fields属性类似.
糖的一些不可避免的是它会产生蛀牙.这就是你必须在VB6和VBA中使用Set关键字的原因.因为没有它,编译器不知道您是否要复制对象引用或对象的默认属性值.在vb.net中被删除.
感叹号似乎充当了成员访问运营商......
会员访问运营商
要访问类型的成员,请使用点(.)或感叹号(!)运算符
我收回之前说过的话.就是这个:
感叹号(!)运算符使用!运算符仅在类或接口上作为字典访问运算符.类或接口必须具有接受单个String参数的默认属性.紧随其后的标识符!operator成为默认属性的字符串参数.
| 归档时间: | 
 | 
| 查看次数: | 15433 次 | 
| 最近记录: |