Reference
OpcDataTypeInfo Members
Represents type declarations used for data types.
Reference
OpcDataTypeInfo Members
- Type
- OpcDataTypeInfo
- Namespace
- Opc.UaFx
- Assembly
- Opc.UaFx.Advanced.dll
- Package
- Opc.UaFx.Advanced v2.59.0
- Also in
- Opc.UaFx.Client
Properties
BaseType
Gets the type from which the current OpcDataTypeInfo directly inherits.
public virtual OpcDataTypeInfo BaseType { get; }Public Overridable ReadOnly Property BaseType As OpcDataTypeInfoProperty value
An instance of the OpcDataTypeInfo which represents the type from which the current OpcDataTypeInfo directly inherits or a null reference (Nothing in Visual Basic) if the type does not inherit from a different OpcDataTypeInfo.
ByteOrder
Gets the byte order of the data represented by the type.
public virtual OpcByteOrder? ByteOrder { get; }Public Overridable ReadOnly Property ByteOrder As OpcByteOrder?Property value
One of the members defined by the OpcByteOrder enumeration which overrides the ByteOrder of its TypeDictionary or a null reference (Nothing in Visual Basic) if the OpcByteOrder is to be used from the TypeDictionary of this type.
Category
Gets the category the IOpcType falls within.
public OpcTypeCategory Category { get; }Public ReadOnly Property Category As OpcTypeCategoryProperty value
One of the members defined by the OpcTypeCategory enumeration.
Implements
Remarks
This implementation always returns DataType.
CustomAttributes
Gets an array of custom attributes associated with this type.
public virtual string[] CustomAttributes { get; }Public Overridable ReadOnly Property CustomAttributes As String()Property value
String[]
An array of string values used by the author of this type.
Remarks
Applications are not be required to understand these attributes in order to interpret an encoded instance of the type.
Declarations
Gets a value indicating the ways used to declare the data type represented.
public virtual OpcDataTypeDeclarations Declarations { get; }Public Overridable ReadOnly Property Declarations As OpcDataTypeDeclarationsProperty value
One or a combination of the members defined by the OpcDataTypeDeclarations enumeration.
Documentation
Gets any semantic information that would help a human to understand what the type represents.
public virtual string Documentation { get; }Public Overridable ReadOnly Property Documentation As StringProperty value
A human readable text that describes the type and that would help a human to understand what the type represents.
Empty
Gets the type to use if their is no specific type data available.
public static OpcDataTypeInfo Empty { get; }Public Shared ReadOnly Property Empty As OpcDataTypeInfoProperty value
An instance of the OpcDataTypeInfo class which refers to the Empty.
Encoding
Gets the information used to identify the type of encoding used for the data of the type represented.
public OpcEncoding Encoding { get; }Public ReadOnly Property Encoding As OpcEncodingProperty value
An instance of the OpcEncoding class which represents the information used to encode data of the type or a null reference (Nothing in Visual Basic) if is no encoding information associated with the type.
Implements
EncodingMask
Gets the characteristics used to encode the existence of optional fields.
public virtual OpcEncodingMask EncodingMask { get; }Public Overridable ReadOnly Property EncodingMask As OpcEncodingMaskProperty value
An instance of the OpcEncodingMask class.
Implements
Encodings
Gets information of all encodings supported by the type represented.
public virtual OpcEncoding[] Encodings { get; }Public Overridable ReadOnly Property Encodings As OpcEncoding()Property value
An array of OpcEncoding instances supported by the type.
Implements
IsArray
Gets a value indicating whether the type is an array.
public virtual bool IsArray { get; }Public Overridable ReadOnly Property IsArray As BooleanProperty value
The value true if the current type is an array; otherwise the value false.
Implements
IsEmpty
Gets a value indicating whether the current OpcDataTypeInfo represents a type to use if there is no specific type described.
public virtual bool IsEmpty { get; }Public Overridable ReadOnly Property IsEmpty As BooleanProperty value
The value true if the type does not declare a specific type; otherwise the value false.
IsEnum
Gets a value indicating whether the current OpcDataTypeInfo represents an enumeration.
public virtual bool IsEnum { get; }Public Overridable ReadOnly Property IsEnum As BooleanProperty value
The value true if the current OpcDataTypeInfo represents an enumeration; otherwise the value false.
Implements
Remarks
The OPC UA handles enumerations as a numeric value that has a fixed set of valid values. The encoded value described by an enumeration is always an unsigned integer (see uint) with a fixed size.
IsOpaque
Gets a value indicating whether the current OpcDataTypeInfo describes a primitive fixed size type.
public virtual bool IsOpaque { get; }Public Overridable ReadOnly Property IsOpaque As BooleanProperty value
The value true if the current OpcDataTypeInfo represents an opaque type; otherwise the value false.
Implements
IsPrimitive
Gets a value indicating whether the OpcDataTypeInfo is one of the primitive types.
public virtual bool IsPrimitive { get; }Public Overridable ReadOnly Property IsPrimitive As BooleanProperty value
The value true if the OpcDataTypeInfo is one of the primitive types; otherwise the value false.
Implements
IsStruct
Gets a value indicating whether the OpcDataTypeInfo is a structured type; that is not a value type.
public virtual bool IsStruct { get; }Public Overridable ReadOnly Property IsStruct As BooleanProperty value
The value true if the OpcDataTypeInfo is a structured type; otherwise the value false.
Implements
Remarks
The OPC UA handles structures as a sequence of values. Each value in the sequence is called a field. A field may specify that zero, one or multiple instances of the type appear within the sequence described by the structure. Some fields have lengths that are not multiples of 8 bits. Several of these fields may appear in a sequence in a structure, however, the total number of bits used in the sequence shall be aligned on a byte boundary. A sequence of fields which do not line up on byte boundaries are specified from the least significant bit to the most significant bit. Sequences which are longer than one byte overflow from the most significant bit to the first byte into the least significant bit of the next byte.
IsSystemType
Gets a value indicating whether the current OpcDataTypeInfo represents one of the predefined built-in data types defined by the OPC UA.
public virtual bool IsSystemType { get; }Public Overridable ReadOnly Property IsSystemType As BooleanProperty value
The value true if the current data type represents a OPC UA is a built-in type; otherwise the value false.
Implements
IsUnion
Gets a value indicating whether the current OpcDataTypeInfo represents a type which is only transported using a field indicator and the field indicated.
public virtual bool IsUnion { get; }Public Overridable ReadOnly Property IsUnion As BooleanProperty value
The value true if the current data type represents an union type; otherwise the value false.
Implements
IsUnknown
Gets a value indicating whether the OpcDataTypeInfo acts as a placeholder for a referenced type its type declaration could not resolved.
public virtual bool IsUnknown { get; }Public Overridable ReadOnly Property IsUnknown As BooleanProperty value
The value true if the OpcDataTypeInfo acts as a placeholder for an unresolved type declaration; otherwise the value false.
Implements
Name
Gets a value which defines the non-localizable human-readable name of the type represented. A node which represents this OpcDataTypeInfo uses the Name as its BrowseName.
public OpcName Name { get; }Public ReadOnly Property Name As OpcNameProperty value
An instance of the OpcName class with the string used as the name of the type which does not unambiguously identify the OpcDataTypeInfo.
Implements
Size
Gets the size of the type represented as the number of bytes required.
public virtual long? Size { get; }Public Overridable ReadOnly Property Size As Long?Property value
The size of the type as the number of bytes required; if this OpcDataTypeInfo represents a type with a fixed size (see IsOpaque).
Implements
SizeInBits
Gets the size of the type represented as the number of bits required.
public virtual long? SizeInBits { get; }Public Overridable ReadOnly Property SizeInBits As Long?Property value
The size of the type as the number of bits required; if this OpcDataTypeInfo represents a type with a fixed size (see IsOpaque).
Implements
TypeDictionary
Gets the the OpcDataTypeDictionary which conains the data type declaration represented.
public OpcDataTypeDictionary TypeDictionary { get; }Public ReadOnly Property TypeDictionary As OpcDataTypeDictionaryProperty value
An instance of the OpcDataTypeDictionary class which defines the current OpcDataTypeInfo.
TypeId
Gets a value which identifies the type represented. A node which represents this OpcDataTypeInfo uses the TypeId as its NodeId.
public OpcNodeId TypeId { get; }Public ReadOnly Property TypeId As OpcNodeIdProperty value
An instance of the OpcNodeId class used as the identifier of the type which unambiguously identifies the OpcDataTypeInfo.
Implements
UnderlyingType
Gets the type which provides the implementation of the OpcDataTypeInfo.
public Type UnderlyingType { get; }Public ReadOnly Property UnderlyingType As TypeProperty value
The Type which implements the type declared or a null reference (Nothing in Visual Basic) if there does not exist a declaration of the type described by this OpcDataTypeInfo.
Implements
UnderlyingType, UnderlyingType
XmlName
Gets the Name of this OpcDataTypeInfo qualified with the XmlNamespace of the TypeDictionary which conains the data type declaration represented.
public XmlQualifiedName XmlName { get; protected set; }Public Property XmlName As XmlQualifiedNameProperty value
An instance of the XmlQualifiedName class which identifies this OpcDataTypeInfo using a full qualified name which includes the XmlNamespace and Name of this type using the Value of the OpcName used.
Remarks
The XmlQualifiedName is used in OPC UA to refer to existing types when for example declaring fields.
Methods
GetArrayRank
Gets the number of dimensions in an array.
public virtual int GetArrayRank()Public Overridable Function GetArrayRank() As IntegerReturns
An integer that contains the number of dimensions in the current type.
Exceptions
| Exception | Condition |
|---|---|
| Argument | The current type is not an array. |
Implements
GetElementType
Returns the OpcDataTypeInfo of the object encompassed or referred to by the current array.
public virtual OpcDataTypeInfo GetElementType()Public Overridable Function GetElementType() As OpcDataTypeInfoReturns
The OpcDataTypeInfo of the object encompassed or referred to by the current array or null if the current OpcDataTypeInfo is not an array.
GetField
Searches for the field with the specified name.
public OpcDataFieldInfo GetField(string name)Public Function GetField(name As String) As OpcDataFieldInfoParameters
| Name | Type | Description |
|---|---|---|
name | String | The string containing the name of the data field to get. |
Returns
An instance of the OpcDataFieldInfo representing the field with the specified name, if found; otherwise a null reference (Nothing in Visual Basic).
Exceptions
| Exception | Condition |
|---|---|
| Argument | The name is a null reference ( |
Remarks
The name specified is compared using Ordinal.
GetFields
Returns all the fields of the current OpcDataTypeInfo.
public OpcDataFieldInfo[] GetFields()Public Function GetFields() As OpcDataFieldInfo()Returns
An array of OpcDataFieldInfo objects representing all the fields defined for the current OpcDataTypeInfo or an empty array of type OpcDataFieldInfo if no fields are defined for the current OpcDataTypeInfo.
GetFieldsCore
When overriden in a derived class, searches for the fields defined for the current OpcDataTypeInfo.
protected virtual IEnumerable<OpcDataFieldInfo> GetFieldsCore()Protected Overridable Function GetFieldsCore() As IEnumerable(Of OpcDataFieldInfo)Returns
A sequence of OpcDataFieldInfo objects representing all fields defined for the current OpcDataTypeInfo.
GetUnderlyingType
Retrieves the Type which provides the implementation of the OpcDataTypeInfo.
protected virtual Type GetUnderlyingType()Protected Overridable Function GetUnderlyingType() As TypeReturns
The Type which implements the type declared or a null reference (Nothing in Visual Basic) if there does not exist a declaration of the type described by this OpcDataTypeInfo.
Remarks
To determine the underlying Type this method queries the Type using the TypeResolve event. If there is no Type information provided the method queries the types defined by the foundation stack using the TypeId and Encoding of this OpcDataTypeInfo. If there is still no Type determined the method tries to resolve the Type using the Name to construct type names of types defined in the 'Opc.Ua' and 'System' namespace.
GetXmlName
| Overload | Description |
|---|---|
| GetXmlName( | Retrieves the XmlQualifiedName for the name and xmlNamespace specified. |
| GetXmlName( | Retrieves the XmlQualifiedName for the name and namespace specified. |
| GetXmlName( | Retrieves the XmlQualifiedName for the name and typeDictionary specified. |
GetXmlName(string, string)
Retrieves the XmlQualifiedName for the name and xmlNamespace specified.
public static XmlQualifiedName GetXmlName(string name, string xmlNamespace)Public Shared Function GetXmlName(
name As String,
xmlNamespace As String) As XmlQualifiedNameParameters
| Name | Type | Description |
|---|---|---|
name | String | The name of the entity for which the XmlQualifiedName is to be created. The value is used for the Name. |
xmlNamespace | String | The namespace within the entity has been declared and which is to be referenced by the Namespace to retrieve. This value can be a null reference ( |
Returns
A new instance of the XmlQualifiedName which uses the name for the Name and the xmlNamespace (if specified) for the Namespace.
GetXmlName(string, OpcNamespace)
Retrieves the XmlQualifiedName for the name and namespace specified.
public static XmlQualifiedName GetXmlName(string name, OpcNamespace @namespace)Public Shared Function GetXmlName(
name As String,
[namespace] As OpcNamespace) As XmlQualifiedNameParameters
| Name | Type | Description |
|---|---|---|
name | String | The name of the entity for which the XmlQualifiedName is to be created. The value is used for the Name. |
namespace | OpcNamespace | The OpcNamespace its Uri or Value is used to define the Namespace to retrieve. This can be a null reference ( |
Returns
A new instance of the XmlQualifiedName which uses the name for the Name and the namespace (if specified) for the Namespace.
GetXmlName(string, OpcDataTypeDictionary)
Retrieves the XmlQualifiedName for the name and typeDictionary specified.
public static XmlQualifiedName GetXmlName(
string name,
OpcDataTypeDictionary typeDictionary)Public Shared Function GetXmlName(
name As String,
typeDictionary As OpcDataTypeDictionary) As XmlQualifiedNameParameters
| Name | Type | Description |
|---|---|---|
name | String | The name of the entity for which the XmlQualifiedName is to be created. The value is used for the Name. |
typeDictionary | Opc | The Opc |
Returns
A new instance of the XmlQualifiedName which uses the name for the Name and the typeDictionary (if specified) for the Namespace.
MakeArrayType
| Overload | Description |
|---|---|
| MakeArrayType() | Returns a OpcDataTypeInfo object representing a one-dimensional array of the current type, with a lower bound of zero. |
| MakeArrayType( | Returns a OpcDataTypeInfo object representing an array of the current type, with the specified number of dimensions. |
MakeArrayType()
Returns a OpcDataTypeInfo object representing a one-dimensional array of the current type, with a lower bound of zero.
public OpcDataTypeInfo MakeArrayType()Public Function MakeArrayType() As OpcDataTypeInfoReturns
A OpcDataTypeInfo object representing a one-dimensional array of the current type, with a lower bound of zero.
MakeArrayType(int)
Returns a OpcDataTypeInfo object representing an array of the current type, with the specified number of dimensions.
public OpcDataTypeInfo MakeArrayType(int rank)Public Function MakeArrayType(rank As Integer) As OpcDataTypeInfoParameters
| Name | Type | Description |
|---|---|---|
rank | Int32 | The number of dimensions for the array. This number must be less than or equal to 32. |
Returns
An object representing an array of the current type, with the specified number of dimensions.
Exceptions
| Exception | Condition |
|---|---|
| Argument | The rank is not between 1 and 32 ( |
ToString
Returns a string representing the Name or the UnderlyingType of the current OpcDataTypeInfo.
public override string ToString()Public Overrides Function ToString() As StringReturns
A string representing the Name or the UnderlyingType of the current OpcDataTypeInfo.
Overrides

