public ReferenceDescriptionCollection BrowserNode2(NodeId nodeId) { var browser = new Browser(clientSession); return browser.Browse(nodeId); } public ReferenceDescriptionCollection BrowserNode(NodeId nodeId) { var browseDescriptions = new BrowseDescriptionCollection(); var browserDesc = new BrowseDescription(); browserDesc.NodeId = nodeId; browserDesc.BrowseDirection = BrowseDirection.Forward; browserDesc.ReferenceTypeId = ReferenceTypeIds.Aggregates; browserDesc.IncludeSubtypes = true; browserDesc.NodeClassMask = (uint)(NodeClass.Object | NodeClass.Variable | NodeClass.Method | NodeClass.ReferenceType | NodeClass.ObjectType | NodeClass.View | NodeClass.VariableType | NodeClass.DataType); browserDesc.ResultMask = (uint)BrowseResultMask.All; var browseDesc2 = new BrowseDescription(); browseDesc2.NodeId = nodeId; browseDesc2.BrowseDirection = BrowseDirection.Forward; browseDesc2.ReferenceTypeId = ReferenceTypeIds.Organizes; browseDesc2.IncludeSubtypes = true; browseDesc2.NodeClassMask = (uint)(NodeClass.Object | NodeClass.Variable | NodeClass.Method | NodeClass.View | NodeClass.ReferenceType | NodeClass.ObjectType | NodeClass.VariableType | NodeClass.DataType); browseDesc2.ResultMask = (uint)BrowseResultMask.All; browseDescriptions.Add(browserDesc); browseDescriptions.Add(browseDesc2); ReferenceDescriptionCollection references = GetReferenceDescriptionCollection(browseDescriptions); return references; }两个方法有什么区别
时间: 2024-04-04 17:33:15 浏览: 64
AioMemcached-0.8.0-py2.py3-none-any.whl.zip
这两个方法都是用于浏览指定节点的引用。其中,第一个方法使用了C#库中的Browser类,直接调用了Browse方法,返回一个ReferenceDescriptionCollection对象,表示指定节点的所有引用。而第二个方法则是手动创建了一个BrowseDescriptionCollection对象,其中包含两个BrowseDescription对象,分别用于查找节点的Aggregates和Organizes引用,然后调用GetReferenceDescriptionCollection方法获取结果。
因此,第一个方法相对来说更简单,而第二个方法则更加灵活,可以根据需要自定义查找的引用类型和结果。
阅读全文