@@ -46,41 +46,6 @@ public bool Connect(string serverName)
4646 return IsConnected ;
4747 }
4848
49- /// <summary>
50- /// <inheritdoc/>
51- /// </summary>
52- /// <param name="name"></param>
53- /// <param name="filters"></param>
54- /// <param name="position"></param>
55- /// <returns></returns>
56- public OpcBrowseElement [ ] Browse ( string name , OpcBrowseFilters filters , out OpcBrowsePosition position )
57- {
58- if ( _server is not { IsConnected : true } )
59- {
60- throw new InvalidOperationException ( "OPC Server is not connected." ) ;
61- }
62-
63- var results = _server . Browse ( new ItemIdentifier ( name ) , filters . ToFilters ( ) , out var pos ) ;
64- position = new OpcBrowsePosition ( pos ) ;
65- return results . Select ( element => new OpcBrowseElement ( element ) ) . ToArray ( ) ;
66- }
67-
68- /// <summary>
69- /// <inheritdoc/>
70- /// </summary>
71- /// <param name="position"></param>
72- /// <returns></returns>
73- public OpcBrowseElement [ ] BrowseNext ( OpcBrowsePosition position )
74- {
75- if ( _server is not { IsConnected : true } )
76- {
77- throw new InvalidOperationException ( "OPC Server is not connected." ) ;
78- }
79-
80- var pos = position . Position ;
81- return _server . BrowseNext ( ref pos ) . Select ( element => new OpcBrowseElement ( element ) ) . ToArray ( ) ;
82- }
83-
8449 /// <summary>
8550 /// 断开连接方法
8651 /// </summary>
@@ -176,6 +141,33 @@ private Opc.Da.Server GetOpcServer()
176141 return _server ;
177142 }
178143
144+ /// <summary>
145+ /// <inheritdoc/>
146+ /// </summary>
147+ /// <param name="name"></param>
148+ /// <param name="filters"></param>
149+ /// <param name="position"></param>
150+ /// <returns></returns>
151+ public OpcBrowseElement [ ] Browse ( string name , OpcBrowseFilters filters , out OpcBrowsePosition ? position )
152+ {
153+ var server = GetOpcServer ( ) ;
154+ var results = server . Browse ( new ItemIdentifier ( name ) , filters . ToFilters ( ) , out var pos ) ;
155+ position = new OpcBrowsePosition ( pos ) ;
156+ return results . Select ( element => new OpcBrowseElement ( element ) ) . ToArray ( ) ;
157+ }
158+
159+ /// <summary>
160+ /// <inheritdoc/>
161+ /// </summary>
162+ /// <param name="position"></param>
163+ /// <returns></returns>
164+ public OpcBrowseElement [ ] BrowseNext ( OpcBrowsePosition position )
165+ {
166+ var server = GetOpcServer ( ) ;
167+ var pos = position . Position ;
168+ return server . BrowseNext ( ref pos ) . Select ( element => new OpcBrowseElement ( element ) ) . ToArray ( ) ;
169+ }
170+
179171 /// <summary>
180172 /// Dispose 方法
181173 /// </summary>
0 commit comments