公共成员' Where' on type' PlcBlockUserGroupComposition'未找到

时间:2017-12-21 10:23:10

标签: vb.net plc

我正在尝试使用Siemens Openness的Vb.Net程序在Siemens TIA Portal项目中找到一个文件夹。

如果我运行代码:

Dim currFolder 'Define the current folder without a type.
currFolder = emptySoftware.BlockGroup

For Each folderName As String In path.Split({"\"}, StringSplitOptions.RemoveEmptyEntries).ToList()
    currFolder = currFolder.Groups().Where(Function(x) x.Name = folderName).Single()
Next

我收到错误

  

公共会员'其中' on type' PlcBlockUserGroupComposition'找不到

但是类型SW.Blocks.PlcBlockUserGroup确实实现了IEnumerable接口。

此外,如果我运行以下代码:

    Dim currFolder 'Define the current folder without a type.
currFolder = emptySoftware.BlockGroup

For Each folderName As String In path.Split({"\"}, StringSplitOptions.RemoveEmptyEntries).ToList()
    Dim tmpFolder = CType(currFolder, SW.Blocks.plcBlockGroup)
    Dim tmp = tmpFolder.Groups
    currFolder = tmpFolder.Groups().Where(Function(x) x.Name = folderName).Single()
Next

我没有收到任何错误,即使我的调试器显示tmp类型为SW.Blocks.PlcBlockUserGroupComposition

这是为什么?是什么让第二个片段起作用,第一个片段没有?

我更喜欢第一个代码段的原因是因为这可以让我对不同类型使用相同的代码,这些代码都实现了Groups属性和Where函数。

0 个答案:

没有答案