如果您将 Properties 视为 Subs/Functions/Methods(如 getter/setter)的表亲,那么这个谜团应该消失了。“访问对象成员”运算符(点)“有效”,只要左边有(引用)一个对象,右边有一个有效的成员 - 方法、变量/字段或属性 - 名称。只要x.y
表达式计算为一个对象,链接点就“有效”,因此 iny.z
z
是该对象的成员。最后一个可能是非对象(右侧没有其他点)。
>> Set oFS = CreateObject("Scripting.FileSystemObject")
>> Set oFld = oFS.GetFolder(".") -- method .GetFolder returns Folder object
>> Set oFiles = oFld.Files -- Property .Files returns collection object
>> WScript.Echo oFiles.Count -- oFiles has a simple/non-object member .Count
>>
2
>> WScript.Echo oFiles.Count.ToString() -- .Count is not an object, but a number
>>
Error Number: 424
Error Description: Object required
>> WScript.Echo oFS.GetFolder(".").Files.Count -- chaining
obj obj obj var
>>
2