~~NOTRANS~~ ====== OpcArgumentInfo Members ====== **Namespace:** Opc.UaFx.Client \\ **Assemblies:** Opc.UaFx.Advanced.dll, Opc.UaFx.Advanced.dll \\ The [[Opc.UaFx.Client.OpcArgumentInfo|OpcArgumentInfo]] type exposes the following members. ===== Properties ===== ==== ArrayDimensions ==== <panel> Gets the length for each dimension of an array value of the argument represented. **C#** \\ <code csharp> public uint[] ArrayDimensions { get; } </code> \\ **Property Value** [[https://docs.microsoft.com/en-us/dotnet/api/system.uint32|UInt32]][] \\ An empty array in case there the value of the argument represented is a scalar value; otherwise an [[https://docs.microsoft.com/en-us/dotnet/api/system.uint32|UInt32]] array there each entry indicates a single dimension while the value of the entry defines the length of that dimension. </panel> ==== ArrayLength ==== <panel> Gets the total number of elements in all the dimensions of the array value of the argument represented. **C#** \\ <code csharp> public long ArrayLength { get; } </code> \\ **Property Value** [[https://docs.microsoft.com/en-us/dotnet/api/system.int64|Int64]] \\ The total number of elements in all the dimensions of the array value of the argument represented; zero if there are no elements in the array. </panel> ==== ArrayRank ==== <panel> Gets the rank (number of dimensions) of the array value of the argument represented. For example, a one-dimensional array returns 1, a two-dimensional array returns 2, and so on. **C#** \\ <code csharp> public int ArrayRank { get; } </code> \\ **Property Value** [[https://docs.microsoft.com/en-us/dotnet/api/system.int32|Int32]] \\ The rank (number of dimensions) of the array value of the argument represented. </panel> ==== DataType ==== <panel> Gets the [[Opc.UaFx.Client.OpcTypeNodeInfo|OpcTypeNodeInfo]] about the data type node of the argument represented. **C#** \\ <code csharp> public OpcTypeNodeInfo DataType { get; } </code> \\ **Property Value** [[Opc.UaFx.Client.OpcTypeNodeInfo|OpcTypeNodeInfo]] \\ An instance of the [[Opc.UaFx.Client.OpcTypeNodeInfo|OpcTypeNodeInfo]] representing the type definition of the argument represented. In case there is no known type definition for the data type referenced by the argument a null reference (Nothing in Visual Basic). </panel> ==== DataTypeId ==== <panel> Gets the [[Opc.UaFx.OpcNodeId|OpcNodeId]] about the data type node of the argument represented. **C#** \\ <code csharp> public OpcNodeId DataTypeId { get; } </code> \\ **Property Value** [[Opc.UaFx.OpcNodeId|OpcNodeId]] \\ An instance of the [[Opc.UaFx.OpcNodeId|OpcNodeId]] which identifies the type node definition of the argument represented. In case there is no type definition for the type of value provided by the argument represented a null reference (Nothing in Visual Basic). </panel> ==== DefaultValue ==== <panel> Gets the value of the argument that is by default used in case there is no custom value specified for the argument. **C#** \\ <code csharp> public object DefaultValue { get; } </code> \\ **Property Value** [[https://docs.microsoft.com/en-us/dotnet/api/system.object|Object]] \\ The default value used by argument by definition. </panel> ==== Description ==== <panel> Gets the textual description of the use of the argument represented. **C#** \\ <code csharp> public OpcText Description { get; } </code> \\ **Property Value** [[Opc.UaFx.OpcText|OpcText]] \\ A string which describes the use of the argument. </panel> ==== IsArray ==== <panel> Gets a value indicating whether the value of the argument represented is an array. **C#** \\ <code csharp> public bool IsArray { get; } </code> \\ **Property Value** [[https://docs.microsoft.com/en-us/dotnet/api/system.boolean|Boolean]] \\ The value true if the value of the argument represented is an array; otherwise the false. </panel> ==== Name ==== <panel> Gets the name of the argument. **C#** \\ <code csharp> public string Name { get; } </code> \\ **Property Value** [[https://docs.microsoft.com/en-us/dotnet/api/system.string|String]] \\ The name of the argument. </panel> ===== Methods ===== ==== GetArrayLength(Int32) ==== <panel> Gets a 32-bit integer that represents the number of elements in the specified dimension of the array value of the argument. **C#** \\ <code csharp> public long GetArrayLength(int dimension) </code> \\ **Parameters** ''dimension'' [[https://docs.microsoft.com/en-us/dotnet/api/system.int32|Int32]] \\ A zero-based dimension of the array value whose length needs to be determined.\\ \\ **Returns** [[https://docs.microsoft.com/en-us/dotnet/api/system.int64|Int64]] \\ A 32-bit integer that represents the number of elements in the specified dimension of the array value. \\ \\ **Exceptions** [[https://docs.microsoft.com/en-us/dotnet/api/system.argumentoutofrangeexception|ArgumentOutOfRangeException]] \\ The ''dimension'' is less than zero or equals to or greater than [[Opc.UaFx.Client.OpcArgumentInfoMembers#ArrayRank|ArrayRank]].\\ [[https://docs.microsoft.com/en-us/dotnet/api/system.invalidoperationexception|InvalidOperationException]] \\ The value of the argument represented is not an array (see [[Opc.UaFx.Client.OpcArgumentInfoMembers#IsArray|IsArray]]).\\ \\ **Remarks** The time consumed by the first call of the property depends on the availability of the server, because of the [[Opc.UaFx.OpcAttributeMembers#ArrayDimensions|ArrayDimensions]] attribute is requested on-demand and is cached for subsequent calls. This means, that further [[Opc.UaFx.OpcAttributeMembers#ArrayDimensions|ArrayDimensions]] attribute requests will take use of already retrieved attribute information and will not demand additional network resources. </panel> ==== GetArrayLowerBound(Int32) ==== <panel> Gets the index of the first element of the specified dimension in the array value of the argument. **C#** \\ <code csharp> public long GetArrayLowerBound(int dimension) </code> \\ **Parameters** ''dimension'' [[https://docs.microsoft.com/en-us/dotnet/api/system.int32|Int32]] \\ A zero-based dimension of the array value whose starting index needs to be determined.\\ \\ **Returns** [[https://docs.microsoft.com/en-us/dotnet/api/system.int64|Int64]] \\ The index of the first element of the specified dimension in the array value. \\ \\ **Exceptions** [[https://docs.microsoft.com/en-us/dotnet/api/system.argumentoutofrangeexception|ArgumentOutOfRangeException]] \\ The ''dimension'' is less than zero or equals to or greater than [[Opc.UaFx.Client.OpcArgumentInfoMembers#ArrayRank|ArrayRank]].\\ [[https://docs.microsoft.com/en-us/dotnet/api/system.invalidoperationexception|InvalidOperationException]] \\ The value of the argument represented is not an array (see [[Opc.UaFx.Client.OpcArgumentInfoMembers#IsArray|IsArray]]).\\ </panel> ==== GetArrayUpperBound(Int32) ==== <panel> Gets the index of the last element of the specified dimension in the array value of the argument. **C#** \\ <code csharp> public long GetArrayUpperBound(int dimension) </code> \\ **Parameters** ''dimension'' [[https://docs.microsoft.com/en-us/dotnet/api/system.int32|Int32]] \\ A zero-based dimension of the array value whose upper bound needs to be determined.\\ \\ **Returns** [[https://docs.microsoft.com/en-us/dotnet/api/system.int64|Int64]] \\ The index of the last element of the specified dimension in the array value, or -1 if the specified dimension is empty. \\ \\ **Exceptions** [[https://docs.microsoft.com/en-us/dotnet/api/system.argumentoutofrangeexception|ArgumentOutOfRangeException]] \\ The ''dimension'' is less than zero or equals to or greater than [[Opc.UaFx.Client.OpcArgumentInfoMembers#ArrayRank|ArrayRank]].\\ [[https://docs.microsoft.com/en-us/dotnet/api/system.invalidoperationexception|InvalidOperationException]] \\ The value of the argument represented is not an array (see [[Opc.UaFx.Client.OpcArgumentInfoMembers#IsArray|IsArray]]).\\ \\ **Remarks** The time consumed by the first call of the property depends on the availability of the server, because of the [[Opc.UaFx.OpcAttributeMembers#ArrayDimensions|ArrayDimensions]] attribute is requested on-demand and is cached for subsequent calls. This means, that further [[Opc.UaFx.OpcAttributeMembers#ArrayDimensions|ArrayDimensions]] attribute requests will take use of already retrieved attribute information and will not demand additional network resources. </panel>