Skip to content

Reference

OpcNode Members

Represents the base class of the node classes which define the nodes of an address space, such as OpcObjectNode, OpcVariableNode and OpcMethodNode.

Reference

OpcNode Members ​

Type
OpcNode
Namespace
Opc.UaFx
Assembly
Opc.UaFx.Advanced.dll
Package
Opc.UaFx.Advanced v2.59.0

Properties ​

Category ​

Gets the NodeCategory attribute which identifies the kind of node and is therefore used to classify the node regarding its use and purpose.

csharp
public OpcNodeCategory Category { get; }
vbnet
Public ReadOnly Property Category As OpcNodeCategory

Property value

OpcNodeCategory

One of the members defined by the OpcNodeCategory enumeration.

Implements

Category

Description ​

Gets or sets the value of the optional Description attribute which shall explain the meaning of the node.

csharp
public OpcText Description { get; set; }
vbnet
Public Property Description As OpcText

Property value

OpcText

A localizable instance of the OpcText class which optionally explains the meaning of the node or a null reference (Nothing in Visual Basic) if there is no description associated with the node.

Implements

Description, Description

Remarks

The menaning of the node defines the usage, the context and the purpose of the node.

Descriptions ​

since v2.12

Gets the OpcNodeGlobalization instance used to control the localization and other globalization related tasks for the Description attribute of the current node.

csharp
public OpcNodeGlobalization Descriptions { get; }
vbnet
Public ReadOnly Property Descriptions As OpcNodeGlobalization

Property value

OpcNodeGlobalization

An instance of the OpcNodeGlobalization class used by the current OpcNode to perform localization tasks for its Description.

DisplayName ​

Gets or sets the value of the DisplayName attribute which defines the localizable name of the node.

csharp
public OpcText DisplayName { get; set; }
vbnet
Public Property DisplayName As OpcText

Property value

OpcText

An instance of the OpcText class which defines the localizable name of the node.

Implements

DisplayName, DisplayName

Remarks

Client application should use this attribute if they want to display the name of the node to the user. The string part of the DisplayName is restricted to 512 characters.

DisplayNames ​

since v2.12

Gets the OpcNodeGlobalization instance used to control the localization and other globalization related tasks for the DisplayName attribute of the current node.

csharp
public OpcNodeGlobalization DisplayNames { get; }
vbnet
Public ReadOnly Property DisplayNames As OpcNodeGlobalization

Property value

OpcNodeGlobalization

An instance of the OpcNodeGlobalization class used by the current OpcNode to perform localization tasks for its DisplayName.

HasPendingChanges ​

Gets a value indiciating whether there exists any pending change on the node.

csharp
public bool HasPendingChanges { get; }
vbnet
Public ReadOnly Property HasPendingChanges As Boolean

Property value

Boolean

The value true if PendingChanges is not equals to None; otherwise the value false.

Implements

HasPendingChanges

Id ​

Gets the value of the NodeId attribute which unambiguously identifies the node.

csharp
public OpcNodeId Id { get; }
vbnet
Public ReadOnly Property Id As OpcNodeId

Property value

OpcNodeId

An instance of the OpcNodeId class representing the unambiguously identifier of the node.

Implements

Id

Remarks

Some servers may accept alternative node identifiers in addition to the canonical node identifier represented by this attribute.

A server shall persist the node identifier of a node, that is, it shall not generate new node identifiers when rebooting.

Model ​

since v2.50

Gets the OpcNodeModel which has been used to model this OpcNode regarding its whole representation in the address space.

csharp
public OpcNodeModel Model { get; }
vbnet
Public ReadOnly Property Model As OpcNodeModel

Property value

OpcNodeModel

An instance of the OpcNodeModel class which provides the modelling directives to use to model the whole node tree of this OpcNode.

Name ​

Gets or sets the value of the BrowseName attribute which defines the non-localizable human-readable name used when browsing the address space.

csharp
public OpcName Name { get; set; }
vbnet
Public Property Name As OpcName

Property value

OpcName

Implements

Name, Name

Remarks

The Name should never be used to display the name of the a node. Use the DisplayName instead for this purpose.

Unlike node identifiers the Name cannot be used to unambiguously identify the node. Different nodes may have the same browse name. The namespace is provided to make the browse name unique in some cases in the context of a node (e.g. properties of a node) although not unique in the context of the server. If different organizations define browse names for properties, the namespace of the Name provided by the organization makes the Name unique, although different organizations may use the same string having a slightly different meaning. Servers may often choose to use the same namespace for the node identifier and the browse name. However, if they want to provide a standard property, its browse name shall have the namespace of the standards body although the namespace of the node identifier reflects something else, for example the local server.

It is recommended that standard bodies defining standard type definitions use their namespace for the node identifier of the type definition node as well as for the browse name of the type definition node.

The string-part of the browse name is case sensitive. That is, clients shall consider them case sensitive. Server are allowed to handle browse names passed in service requests as case insensitive.

Use the value of this property to construct browse paths (see OpcNamePath).

Namespace ​

Gets the namespace of the node.

csharp
public OpcNamespace Namespace { get; }
vbnet
Public ReadOnly Property [Namespace] As OpcNamespace

Property value

OpcNamespace

The OpcNamespace assigned to the node or, if no namespace has been assigned to the node, the Namespace of its Id.

Implements

Namespace

Parent ​

virtual

Gets the parent node of the node.

csharp
public virtual IOpcNode Parent { get; }
vbnet
Public Overridable ReadOnly Property Parent As IOpcNode

Property value

IOpcNode

An instance implementing the IOpcNode interface which represents the phyiscal parent of the node. In general a node can have multiple (logical) parent nodes, but this property provides the only physical parent node of the node. The value can also be a null reference (Nothing in Visual Basic) in case there the node does only have logical parent nodes.

Implements

Parent

PendingChanges ​

Gets a value indicating the most recent changes performed on the node since their last notification.

csharp
public OpcNodeChanges PendingChanges { get; }
vbnet
Public ReadOnly Property PendingChanges As OpcNodeChanges

Property value

OpcNodeChanges

A bitwise combination of OpcNodeChanges members identifying the changes made on the node or None if there was no change on the node since the last change notification.

Implements

PendingChanges

Remarks

Use one of the ApplyChanges overloads to reset the value of this property to None or use one of the UpdateChanges overloads to partially reset the pending changes.

QueryEventsCallback ​

Gets or sets a callback used to query any event information which belongs to the node.

csharp
public OpcQueryEventsCallback QueryEventsCallback { get; set; }
vbnet
Public Property QueryEventsCallback As OpcQueryEventsCallback

Property value

OpcQueryEventsCallback

A OpcQueryEventsCallback used to query any event information which belongs to the node. The value can also be a null reference (Nothing in Visual Basic).

Remarks

A condition refresh reports the retained conditions of the node's children and of the nodes added by AddNotifier without the callback. Reporting such a condition from the callback as well makes a client receive it twice. The callback is meant for event information that is no child and no notifier of the node.

ReadDescriptionCallback ​

Gets or sets a callback used to read the value of the Description attribute.

csharp
public OpcReadAttributeValueCallback<OpcText> ReadDescriptionCallback { get; set; }
vbnet
Public Property ReadDescriptionCallback As OpcReadAttributeValueCallback(Of OpcText)

Property value

OpcReadAttributeValueCallback<OpcText>

A OpcReadAttributeValueCallback<T> used to read the value of the Description attribute as an OpcText. The value can also be a null reference (Nothing in Visual Basic).

ReadDisplayNameCallback ​

since v2.11

Gets or sets a callback used to read the value of the DisplayName attribute.

csharp
public OpcReadAttributeValueCallback<OpcText> ReadDisplayNameCallback { get; set; }
vbnet
Public Property ReadDisplayNameCallback As OpcReadAttributeValueCallback(Of OpcText)

Property value

OpcReadAttributeValueCallback<OpcText>

A OpcReadAttributeValueCallback<T> used to read the value of the DisplayName attribute as an OpcText. The value can also be a null reference (Nothing in Visual Basic).

ReadUserWriteAccessCallback ​

Gets or sets a callback used to read the value of the UserWriteAccess attribute.

csharp
public OpcReadAttributeValueCallback<OpcAttributeWriteAccess> ReadUserWriteAccessCallback { get; set; }
vbnet
Public Property ReadUserWriteAccessCallback As OpcReadAttributeValueCallback(Of OpcAttributeWriteAccess)

Property value

OpcReadAttributeValueCallback<OpcAttributeWriteAccess>

A OpcReadAttributeValueCallback<T> used to read the value of the UserWriteAccess attribute as a combination of the members defined by the OpcAttributeWriteAccess enumeration. The value can also be a null reference (Nothing in Visual Basic).

ReadWriteAccessCallback ​

Gets or sets a callback used to read the value of the WriteAccess attribute.

csharp
public OpcReadAttributeValueCallback<OpcAttributeWriteAccess> ReadWriteAccessCallback { get; set; }
vbnet
Public Property ReadWriteAccessCallback As OpcReadAttributeValueCallback(Of OpcAttributeWriteAccess)

Property value

OpcReadAttributeValueCallback<OpcAttributeWriteAccess>

A OpcReadAttributeValueCallback<T> used to read the value of the WriteAccess attribute as a combination of the members defined by the OpcAttributeWriteAccess enumeration. The value can also be a null reference (Nothing in Visual Basic).

SymbolicName ​

Gets or sets a symbolic name for the node which is not expected to be globally unique.

csharp
public string SymbolicName { get; set; }
vbnet
Public Property SymbolicName As String

Property value

String

The symbolic name of the node or a null reference (Nothing in Visual Basic) if there is no symbolic name assigned. The name can only contain characters which are valid for an XML element name.

Implements

SymbolicName

Remarks

The symbolic name is not an attribute of the node and is therefore not provided to clients; it is used when the state of the node is saved, for example as the name of its XML element. In case there UseNodeNameAsDefaultSymbolicName is set to the value true and no symbolic name is assigned, the Value of the Name is used as the symbolic name when the node is initialized.

Tag ​

Gets or sets the object that contains additional user data about the node.

csharp
public object Tag { get; set; }
vbnet
Public Property Tag As Object

Property value

Object

An object that contains additional user data about the node. The default is null (Nothing in Visual Basic).

Implements

Tag

UserWriteAccess ​

Gets or sets the value of the optional UserWriteAccess attribute which exposes the possibilities of a client to write the attributes of the node taking user access rights into account.

csharp
public OpcAttributeWriteAccess UserWriteAccess { get; set; }
vbnet
Public Property UserWriteAccess As OpcAttributeWriteAccess

Property value

OpcAttributeWriteAccess

A combination of the members defined by the OpcAttributeWriteAccess enumeration.

Implements

UserWriteAccess, UserWriteAccess

Remarks

The mask value of this attribute can only further restrict the WriteAccess attribute, when it is set to not writable in the general case that applies for every user.

WriteAccess ​

Gets or sets the value of the optional WriteAccess attribute which exposes the posibilities of a client to write the attributes of the node.

csharp
public OpcAttributeWriteAccess WriteAccess { get; set; }
vbnet
Public Property WriteAccess As OpcAttributeWriteAccess

Property value

OpcAttributeWriteAccess

A combination of the members defined by the OpcAttributeWriteAccess enumeration.

Implements

WriteAccess, WriteAccess

Remarks

The mask value of this attribute does not take any user access rights into account, that is, altough an attribute is writable this may be restricted to a certain user / user group.

If a server does not have the ability to get the write mask information for a specific attribute from the underlying system, it should state that it is writable. If a write opertation is called on the attribute, the server should transfer this request and return the corresponding OpcStatusCode if such a request is rejected.

Only in case there a corresponding attribute is set in the mask of this attribute the according attribute is writable; otherwise it can not accessed for writing.

WriteDescriptionCallback ​

Gets or sets a callback used to write the value of the Description attribute.

csharp
public OpcWriteAttributeValueCallback<OpcText> WriteDescriptionCallback { get; set; }
vbnet
Public Property WriteDescriptionCallback As OpcWriteAttributeValueCallback(Of OpcText)

Property value

OpcWriteAttributeValueCallback<OpcText>

A OpcWriteAttributeValueCallback<T> used to write the value of the Description attribute as an OpcText. The value can also be a null reference (Nothing in Visual Basic).

WriteDisplayNameCallback ​

since v2.11

Gets or sets a callback used to write the value of the DisplayName attribute.

csharp
public OpcWriteAttributeValueCallback<OpcText> WriteDisplayNameCallback { get; set; }
vbnet
Public Property WriteDisplayNameCallback As OpcWriteAttributeValueCallback(Of OpcText)

Property value

OpcWriteAttributeValueCallback<OpcText>

A OpcWriteAttributeValueCallback<T> used to write the value of the DisplayName attribute as an OpcText. The value can also be a null reference (Nothing in Visual Basic).

WriteUserWriteAccessCallback ​

Gets or sets a callback used to write the value of the UserWriteAccess attribute.

csharp
public OpcWriteAttributeValueCallback<OpcAttributeWriteAccess> WriteUserWriteAccessCallback { get; set; }
vbnet
Public Property WriteUserWriteAccessCallback As OpcWriteAttributeValueCallback(Of OpcAttributeWriteAccess)

Property value

OpcWriteAttributeValueCallback<OpcAttributeWriteAccess>

A OpcWriteAttributeValueCallback<T> used to write the value of the UserWriteAccess attribute as a combination of the members defined by the OpcAttributeWriteAccess enumeration. The value can also be a null reference (Nothing in Visual Basic).

WriteWriteAccessCallback ​

Gets or sets a callback used to write the value of the WriteAccess attribute.

csharp
public OpcWriteAttributeValueCallback<OpcAttributeWriteAccess> WriteWriteAccessCallback { get; set; }
vbnet
Public Property WriteWriteAccessCallback As OpcWriteAttributeValueCallback(Of OpcAttributeWriteAccess)

Property value

OpcWriteAttributeValueCallback<OpcAttributeWriteAccess>

A OpcWriteAttributeValueCallback<T> used to write the value of the WriteAccess attribute as a combination of the members defined by the OpcAttributeWriteAccess enumeration. The value can also be a null reference (Nothing in Visual Basic).

Methods ​

AddNotifier ​

virtual

When implemented in a subtype, adds the node to the collection of notifiers (= event sources) of this node.

csharp
public virtual void AddNotifier(OpcContext context, IOpcNode node)
vbnet
Public Overridable Sub AddNotifier(context As OpcContext, node As IOpcNode)

Parameters

NameTypeDescription
contextOpcContextThe OpcContext to use to add the node as the notifying event source.
nodeIOpcNodeThe IOpcNode instance acting as the notifier.

Exceptions

ExceptionCondition
ArgumentNullExceptionThe context or node is null reference (Nothing in Visual Basic).
NotSupportedExceptionAdding notifiers is only supported on OpcObjectNode and its subclasses.

Implements

AddNotifier

Remarks

If the node is the first notifier being added to the collection of notifiers the EventNotifier attribute of this OpcObjectNode is set to 'SubscribeToEvents'.

ApplyChanges ​

virtual · 2 overloads

OverloadDescription
ApplyChanges(OpcContext)virtualNotifies about changes performed on the node since the last notification and resets the pending changes to None.
ApplyChanges(OpcContext, bool)virtualNotifies about changes performed on the node (and optionally on its children) since the last notification and resets the pending changes to None.

Exceptions (all overloads)

ExceptionCondition
ArgumentNullExceptionThe context is a null reference (Nothing in Visual Basic).

ApplyChanges(OpcContext) ​

virtual

Notifies about changes performed on the node since the last notification and resets the pending changes to None.

csharp
public virtual void ApplyChanges(OpcContext context)
vbnet
Public Overridable Sub ApplyChanges(context As OpcContext)

Parameters

NameTypeDescription
contextOpcContextThe OpcContext to use to notify about changes performed on the node.

Implements

ApplyChanges

Remarks

This method influences the value of the properties PendingChanges and HasPendingChanges. After a call to ApplyChanges the PendingChanges property returns None and the HasPendingChanges the value false. The method is not synchronized, see ApplyChanges.

ApplyChanges(OpcContext, bool) ​

virtual

Notifies about changes performed on the node (and optionally on its children) since the last notification and resets the pending changes to None.

csharp
public virtual void ApplyChanges(OpcContext context, bool recursive)
vbnet
Public Overridable Sub ApplyChanges(context As OpcContext, recursive As Boolean)

Parameters

NameTypeDescription
contextOpcContextThe OpcContext to use to notify about changes performed on the node.
recursiveBooleanThe value true if pending changes are to be notified for all children as well; otherwise the value false.

Implements

ApplyChanges

Remarks

This method influences the value of the properties PendingChanges and HasPendingChanges. After a call to ApplyChanges the PendingChanges property returns None and the HasPendingChanges the value false.

The method is not synchronized. A change made by another thread while the method runs can be reset without being notified. Change and apply the changes of a node from one thread at a time, or hold OpcNodeManager.SyncRoot of the node manager of the node, which describes what that lock covers.

AttributeValue ​

2 overloads · since v2.9

OverloadDescription
AttributeValue(OpcAttribute)since v2.9Retrieves the value of the attribute specified.
AttributeValue<T>(OpcAttribute)since v2.9Retrieves the value of the attribute specified.

AttributeValue(OpcAttribute) ​

since v2.9

Retrieves the value of the attribute specified.

csharp
public object AttributeValue(OpcAttribute attribute)
vbnet
Public Function AttributeValue(attribute As OpcAttribute) As Object

Parameters

NameTypeDescription
attributeOpcAttributeOne of the members defined by the OpcAttribute enumeration which identifies the attribute its value is queried.

Returns

Object

The value of the attribute specified or a null reference (Nothing in Visual Basic) in case there the value of the attribute is a null reference or it is not supported by the current OpcNode.

Implements

AttributeValue

AttributeValue<T>(OpcAttribute) ​

since v2.9

Retrieves the value of the attribute specified.

csharp
public T AttributeValue<T>(OpcAttribute attribute)
vbnet
Public Function AttributeValue(Of T)(attribute As OpcAttribute) As T

Type parameters

NameDescription
TThe expected type of value the attribute shall offer.

Parameters

NameTypeDescription
attributeOpcAttributeOne of the members defined by the OpcAttribute enumeration which identifies the attribute its value is queried.

Returns

T

The value of the attribute as the type T specified or the default value of the type T in case there the value of the attribute is a null reference (Nothing in Visual Basic) or it is not supported by the current OpcNode.

Implements

AttributeValue

Child ​

since v2.7

Retrieves the child node its Name property matches exactly the name specified.

csharp
public IOpcNode Child(OpcContext context, OpcName name)
vbnet
Public Function Child(context As OpcContext, name As OpcName) As IOpcNode

Parameters

NameTypeDescription
contextOpcContextThe OpcContext to use to lookup the requested child node.
nameOpcNameThe full qualified OpcName of the node to lookup.

Returns

IOpcNode

An instance implementing the IOpcNode interface its Name exactly matches the name specified, if such a node is a known child node of this node. Otherwise a null reference (Nothing in Visual Basic).

Exceptions

ExceptionCondition
ArgumentNullExceptionThe context or name is a null reference (Nothing in Visual Basic).

Implements

Child

ChildModel ​

protected · since v2.50

Retrieves the model of the child node with the name specified from the Model of the node.

csharp
protected OpcNodeModel ChildModel(OpcName name)
vbnet
Protected Function ChildModel(name As OpcName) As OpcNodeModel

Parameters

NameTypeDescription
nameOpcNameThe OpcName of the child node whose model is to be retrieved.

Returns

OpcNodeModel

The OpcNodeModel defined for the child node with the name specified, the model defined for all children if there is no model for the specific child node or None if neither of them is defined.

Exceptions

ExceptionCondition
ArgumentNullExceptionThe name is a null reference (Nothing in Visual Basic).

ChildModellingDirective ​

protected · since v2.50

Retrieves the modelling directive of the child node with the name specified from the Model of the node.

csharp
protected OpcModellingDirective ChildModellingDirective(OpcName name)
vbnet
Protected Function ChildModellingDirective(
    name As OpcName) As OpcModellingDirective

Parameters

NameTypeDescription
nameOpcNameThe OpcName of the child node whose modelling directive is to be retrieved.

Returns

OpcModellingDirective

The Directive of the model which ChildModel retrieves for the child node.

Exceptions

ExceptionCondition
ArgumentNullExceptionThe name is a null reference (Nothing in Visual Basic).

Children ​

Retrieves a sequence of all nodes organized as children of this node.

csharp
public IEnumerable<IOpcNode> Children(OpcContext context)
vbnet
Public Function Children(context As OpcContext) As IEnumerable(Of IOpcNode)

Parameters

NameTypeDescription
contextOpcContextThe OpcContext to use to lookup the child nodes.

Returns

IEnumerable<IOpcNode>

A sequence of instances implementing the IOpcNode interface which representing the nodes organized as child nodes of this node.

Exceptions

ExceptionCondition
ArgumentNullExceptionThe context is a null reference (Nothing in Visual Basic).

Implements

Children

DefineModel ​

protected · static · 2 overloads · since v2.27

OverloadDescription
DefineModel<T>(OpcModellingRule, OpcNamePath)protected · static · since v2.27Defines a model rule for the model of the node type specified by T using the rule which is to be applied to the node known under the path passed.
DefineModel<T>(OpcModellingRule, params OpcName[])protected · static · since v2.27Defines a model rule for the model of the node type specified by T using the rule which is to be applied to the node known under the pathElements passed.

DefineModel<T>(OpcModellingRule, OpcNamePath) ​

protected · static · since v2.27

Defines a model rule for the model of the node type specified by T using the rule which is to be applied to the node known under the path passed.

csharp
protected static void DefineModel<T>(
    OpcModellingRule rule,
    OpcNamePath path)
    where T : OpcNode
vbnet
Protected Shared Sub DefineModel(Of T As OpcNode)(
    rule As OpcModellingRule,
    path As OpcNamePath)

Type parameters

NameDescription
TThe type of OpcNode for which the model rule is to be applied.

Parameters

NameTypeDescription
ruleOpcModellingRuleThe OpcModellingRule to apply.
pathOpcNamePathThe OpcNamePath to the node affected.

Exceptions

ExceptionCondition
ArgumentNullExceptionThe path is a null reference (Nothing in Visual Basic).

DefineModel<T>(OpcModellingRule, params OpcName[]) ​

protected · static · since v2.27

Defines a model rule for the model of the node type specified by T using the rule which is to be applied to the node known under the pathElements passed.

csharp
protected static void DefineModel<T>(
    OpcModellingRule rule,
    params OpcName[] pathElements)
    where T : OpcNode
vbnet
Protected Shared Sub DefineModel(Of T As OpcNode)(
    rule As OpcModellingRule,
    ParamArray pathElements As OpcName())

Type parameters

NameDescription
TThe type of OpcNode for which the model rule is to be applied.

Parameters

NameTypeDescription
ruleOpcModellingRuleThe OpcModellingRule to apply.
pathElementsparams OpcName[]The OpcName's to the node affected.

GetType ​

static · since v2.20

Retrieves the Type which implementes the node type which is identified by the typeId specified.

csharp
public static Type GetType(OpcNodeId typeId)
vbnet
Public Shared Function [GetType](typeId As OpcNodeId) As Type

Parameters

NameTypeDescription
typeIdOpcNodeIdThe OpcNodeId which identifies the Type to retrieve.

Returns

Type

The Type which is known under the typeId specified or a null reference (Nothing in Visual Basic) if there doesn't exist a known Type which is associated with the typeId specified.

Exceptions

ExceptionCondition
ArgumentNullExceptionThe typeId is a null reference (Nothing in Visual Basic).

GetTypeInfo ​

static · 3 overloads · since v2.20

OverloadDescription
GetTypeInfo<T>()static · since v2.20Retrieves the OpcNodeTypeInfo which declares the node type implemented by the T specified.
GetTypeInfo(OpcNodeId)static · since v2.20Retrieves the OpcNodeTypeInfo which declares the node type which is identified by the typeId specified.
GetTypeInfo(Type)static · since v2.20Retrieves the OpcNodeTypeInfo which declares the node type implemented by the underlyingType specified.

GetTypeInfo<T>() ​

static · since v2.20

Retrieves the OpcNodeTypeInfo which declares the node type implemented by the T specified.

csharp
public static OpcNodeTypeInfo GetTypeInfo<T>()
vbnet
Public Shared Function GetTypeInfo(Of T)() As OpcNodeTypeInfo

Type parameters

NameDescription
TThe Type which implements the OpcNodeTypeInfo to retrieve.

Returns

OpcNodeTypeInfo

The OpcNodeTypeInfo which declares the T specified or a null reference (Nothing in Visual Basic) if there isn't a OpcNodeTypeInfo associated with the T specified.

GetTypeInfo(OpcNodeId) ​

static · since v2.20

Retrieves the OpcNodeTypeInfo which declares the node type which is identified by the typeId specified.

csharp
public static OpcNodeTypeInfo GetTypeInfo(OpcNodeId typeId)
vbnet
Public Shared Function GetTypeInfo(typeId As OpcNodeId) As OpcNodeTypeInfo

Parameters

NameTypeDescription
typeIdOpcNodeIdThe OpcNodeId which identifies the OpcNodeTypeInfo to retrieve.

Returns

OpcNodeTypeInfo

The OpcNodeTypeInfo which is known under the typeId specified or a null reference (Nothing in Visual Basic) if there doesn't exist a known OpcNodeTypeInfo which is associated with the typeId specified.

Exceptions

ExceptionCondition
ArgumentNullExceptionThe typeId is a null reference (Nothing in Visual Basic).

GetTypeInfo(Type) ​

static · since v2.20

Retrieves the OpcNodeTypeInfo which declares the node type implemented by the underlyingType specified.

csharp
public static OpcNodeTypeInfo GetTypeInfo(Type underlyingType)
vbnet
Public Shared Function GetTypeInfo(underlyingType As Type) As OpcNodeTypeInfo

Parameters

NameTypeDescription
underlyingTypeTypeThe Type which implements the OpcNodeTypeInfo to retrieve.

Returns

OpcNodeTypeInfo

The OpcNodeTypeInfo which declares the underlyingType specified or a null reference (Nothing in Visual Basic) if there isn't a OpcNodeTypeInfo associated with the underlyingType specified.

Exceptions

ExceptionCondition
ArgumentNullExceptionThe underlyingType is a null reference (Nothing in Visual Basic).

Implement ​

protected · virtual · since v2.26

Performs node specific implementation tasks to finalize the node creation before it can be used for the first time.

csharp
protected virtual void Implement(OpcContext context)
vbnet
Protected Overridable Sub Implement(context As OpcContext)

Parameters

NameTypeDescription
contextOpcContextThe OpcContext to use to implement the node.

InitializeChildren ​

protected · virtual · since v2.54

Initializes the children of the node.

csharp
protected virtual void InitializeChildren(OpcContext context)
vbnet
Protected Overridable Sub InitializeChildren(context As OpcContext)

Parameters

NameTypeDescription
contextOpcContextThe OpcContext to use to initialize the children.

Exceptions

ExceptionCondition
ArgumentNullExceptionThe context is a null reference (Nothing in Visual Basic).

InitializeDefaults ​

protected · virtual

Initializes the default values used by the node implementation represented / required.

csharp
protected virtual void InitializeDefaults()
vbnet
Protected Overridable Sub InitializeDefaults()

Remarks

This method is always called by the lowest constructor of the OpcNode constructor chain to initialize all default values which are explicitly necessary before the node is (for example) added as a child node of another node. In case there a parent node is passed to constructor this becomes essential to ensure that the node is initialized appropriately before it is added to the parent.

Only implement this method in case there is a custom node setup required (typically performed within the custom constructor). Any code for member field initialization or additional logic can be kept in the constructor.

IsAccessible ​

virtual · since v2.54

Determines whether the node is accessible using the context specified within the view identified by the viewId specified.

csharp
public virtual bool IsAccessible(OpcContext context, OpcNodeId viewId)
vbnet
Public Overridable Function IsAccessible(
    context As OpcContext,
    viewId As OpcNodeId) As Boolean

Parameters

NameTypeDescription
contextOpcContextThe OpcContext within that the node is accessed.
viewIdOpcNodeIdThe OpcNodeId of the view within that the node is accessed or Null if the node is not accessed within a specific view.

Returns

Boolean

The value true if the node is accessible; otherwise the value false. The default implementation always returns the value true.

IsChangePending ​

Determines whether all of the changes specified by the change are pending on the node (see PendingChanges).

csharp
public bool IsChangePending(OpcNodeChanges change)
vbnet
Public Function IsChangePending(change As OpcNodeChanges) As Boolean

Parameters

NameTypeDescription
changeOpcNodeChangesA bitwise combination of OpcNodeChanges members identifying the changes to check.

Returns

Boolean

The value true if all of the changes specified by the change are pending on the node; otherwise the value false.

Implements

IsChangePending

OnAfterAdded ​

protected · virtual · since v2.26

Raises the AfterAdded event using the event data specified.

csharp
protected virtual void OnAfterAdded(OpcNodeAddedEventArgs e)
vbnet
Protected Overridable Sub OnAfterAdded(e As OpcNodeAddedEventArgs)

Parameters

NameTypeDescription
eOpcNodeAddedEventArgsThe OpcNodeAddedEventArgs with the event data.

OnAfterApplyChanges ​

protected · virtual · since v2.10

Raises the AfterApplyChanges event using the event data specified.

csharp
protected virtual void OnAfterApplyChanges(OpcNodeChangesEventArgs e)
vbnet
Protected Overridable Sub OnAfterApplyChanges(e As OpcNodeChangesEventArgs)

Parameters

NameTypeDescription
eOpcNodeChangesEventArgsThe OpcNodeChangesEventArgs with the event data.

OnBeforeAdded ​

protected · virtual · since v2.26

Raises the BeforeAdded event using the event data specified.

csharp
protected virtual void OnBeforeAdded(OpcNodeAddedEventArgs e)
vbnet
Protected Overridable Sub OnBeforeAdded(e As OpcNodeAddedEventArgs)

Parameters

NameTypeDescription
eOpcNodeAddedEventArgsThe OpcNodeAddedEventArgs with the event data.

OnBeforeApplyChanges ​

protected · virtual · since v2.10

Raises the BeforeApplyChanges event using the event data specified.

csharp
protected virtual void OnBeforeApplyChanges(OpcNodeChangesEventArgs e)
vbnet
Protected Overridable Sub OnBeforeApplyChanges(e As OpcNodeChangesEventArgs)

Parameters

NameTypeDescription
eOpcNodeChangesEventArgsThe OpcNodeChangesEventArgs with the event data.

OnChangesUnhandled ​

protected · virtual · since v2.50

Raises the ChangesUnhandled event using the event data specified.

csharp
protected virtual void OnChangesUnhandled(OpcNodeChangesEventArgs e)
vbnet
Protected Overridable Sub OnChangesUnhandled(e As OpcNodeChangesEventArgs)

Parameters

NameTypeDescription
eOpcNodeChangesEventArgsThe OpcNodeChangesEventArgs with the event data.

OnEventReported ​

protected · virtual · since v2.54

Raises the EventReported event using the event data specified.

csharp
protected virtual void OnEventReported(OpcNodeEventReportedEventArgs e)
vbnet
Protected Overridable Sub OnEventReported(e As OpcNodeEventReportedEventArgs)

Parameters

NameTypeDescription
eOpcNodeEventReportedEventArgsThe OpcNodeEventReportedEventArgs with the event data.

QueryEventsCore ​

protected · virtual

Queries the events which belong to the node using the QueryEventsCallback, if one is assigned.

csharp
protected virtual void QueryEventsCore(
    OpcNodeContext context,
    OpcEventCollection events)
vbnet
Protected Overridable Sub QueryEventsCore(
    context As OpcNodeContext,
    events As OpcEventCollection)

Parameters

NameTypeDescription
contextOpcNodeContextThe OpcNodeContext to use to query the node events.
eventsOpcEventCollectionThe OpcEventCollection to use to store the result of the query.

ReadAttributeValueCore ​

protected · virtual

Determines the value of the attribute to read. In case there a callback is assigned to read the value of the attribute (see ReadDisplayNameCallback, ReadDescriptionCallback, ReadUserWriteAccessCallback and ReadWriteAccessCallback) the callback determines the value; otherwise the preliminary value is returned.

csharp
protected virtual OpcAttributeValue<T> ReadAttributeValueCore<T>(
    OpcReadAttributeValueContext context,
    OpcAttributeValue<T> value)
vbnet
Protected Overridable Function ReadAttributeValueCore(Of T)(
    context As OpcReadAttributeValueContext,
    value As OpcAttributeValue(Of T)) As OpcAttributeValue(Of T)

Type parameters

NameDescription
TThe type of attribute value to read.

Parameters

NameTypeDescription
contextOpcReadAttributeValueContextThe OpcReadAttributeValueContext to use to read the attribute value.
valueOpcAttributeValue<T>The preliminary OpcAttributeValue<T>.

Returns

OpcAttributeValue<T>

The determined OpcAttributeValue<T>.

References ​

virtual · since v2.50

Retrieves a sequence of immutable references between this node and other nodes.

csharp
public virtual IEnumerable<OpcReference> References()
vbnet
Public Overridable Function References() As IEnumerable(Of OpcReference)

Returns

IEnumerable<OpcReference>

A sequence of OpcReference instances providing hierarchical and non-hierarchical references from this node to other nodes.

Implements

References

RegisterType ​

static · 4 overloads · since v2.20

OverloadDescription
RegisterType<T>()static · since v2.20Registers the type defined by T as the node object type to create in case there a node instance is to be created for the type definition identified by the OpcNodeTypeAttribute defined on the T specified.
RegisterType(Type)static · since v2.20Registers the nodeType specified as the node object type to create in case there a node instance is to be created for the type node identified by the OpcNodeTypeAttribute defined on the nodeType specified.
RegisterType<T>(OpcNodeId)static · since v2.20Registers the type defined by T as the node object type to create in case there a node instance is to be created for the type definition identified by the nodeTypeId specified.
RegisterType(Type, OpcNodeId)static · since v2.20Registers the nodeType specified as the node object type to create in case there a node instance is to be created for the type node identified by the nodeTypeId specified.

RegisterType<T>() ​

static · since v2.20

Registers the type defined by T as the node object type to create in case there a node instance is to be created for the type definition identified by the OpcNodeTypeAttribute defined on the T specified.

csharp
public static void RegisterType<T>()
vbnet
Public Shared Sub RegisterType(Of T)()

Type parameters

NameDescription
TThe type to use in case there a node object for the node type equals to the node type identifier defined using the OpcNodeTypeAttribute is to be created. The type needs be a subclass of the OpcNode class.

Exceptions

ExceptionCondition
ArgumentExceptionThe type T uses any node type specific attribute which offers invalid information about the node type to associate with the Type.

RegisterType(Type) ​

static · since v2.20

Registers the nodeType specified as the node object type to create in case there a node instance is to be created for the type node identified by the OpcNodeTypeAttribute defined on the nodeType specified.

csharp
public static void RegisterType(Type nodeType)
vbnet
Public Shared Sub RegisterType(nodeType As Type)

Parameters

NameTypeDescription
nodeTypeTypeThe Type to use in case there a node object for the node type equals to the node type identifier defined using the OpcNodeTypeAttribute is to be created. The type needs be a subclass of the OpcNode class.

Exceptions

ExceptionCondition
ArgumentExceptionThe nodeType uses any node type specific attribute which offers invalid information about the node type to associate with the Type.
ArgumentNullExceptionThe nodeType is a null reference (Nothing in Visual Basic).

RegisterType<T>(OpcNodeId) ​

static · since v2.20

Registers the type defined by T as the node object type to create in case there a node instance is to be created for the type definition identified by the nodeTypeId specified.

csharp
public static void RegisterType<T>(OpcNodeId nodeTypeId)
vbnet
Public Shared Sub RegisterType(Of T)(nodeTypeId As OpcNodeId)

Type parameters

NameDescription
TThe type to use in case there a node object for the node type equals to the node type identifier defined using the OpcNodeTypeAttribute is to be created. The type needs be a subclass of the OpcNode class.

Parameters

NameTypeDescription
nodeTypeIdOpcNodeIdThe identifier of the type node for which the T is to be used to create a node object instance.

Exceptions

ExceptionCondition
ArgumentExceptionThe type T uses any node type specific attribute which offers invalid information about the node type to associate with the Type.
ArgumentNullExceptionThe nodeTypeId is a null reference (Nothing in Visual Basic).

Remarks

It is not possible to register the same or a different node type for the nodeTypeId specified as long there is already a node type registered for the type node specified by nodeTypeId.

RegisterType(Type, OpcNodeId) ​

static · since v2.20

Registers the nodeType specified as the node object type to create in case there a node instance is to be created for the type node identified by the nodeTypeId specified.

csharp
public static void RegisterType(Type nodeType, OpcNodeId nodeTypeId)
vbnet
Public Shared Sub RegisterType(nodeType As Type, nodeTypeId As OpcNodeId)

Parameters

NameTypeDescription
nodeTypeTypeThe Type to use in case there a node object for the node type equals to the node type identifier defined using the OpcNodeTypeAttribute is to be created. The type needs be a subclass of the OpcNode class.
nodeTypeIdOpcNodeIdThe identifier of the type node for which the nodeType is to be used to create a node object instance.

Exceptions

ExceptionCondition
ArgumentExceptionThe nodeType uses any node type specific attribute which offers invalid information about the node type to associate with the Type.
ArgumentNullExceptionThe nodeType or nodeTypeId is a null reference (Nothing in Visual Basic).

Remarks

It is not possible to register the same or a different node type for the nodeTypeId specified as long there is already a node type registered for the type node specified by nodeTypeId.

RegisterTypes ​

static · 3 overloads · since v2.20

OverloadDescription
RegisterTypes(Assembly)static · since v2.20Registers all non-abstract types in the assembly specified which defines the OpcNodeTypeAttribute.
RegisterTypes(IEnumerable<Type>)static · since v2.20Registers the nodeTypes specified as the node object type to create in case there a node instance is to be created for the type nodes identified by the OpcEventTypeAttribute used on one of the nodeTypes specified.
RegisterTypes(Type, params Type[])static · since v2.20Registers the nodeType and the further specified nodeTypes as the node object type to create in case there a node instance is to be created for the type node identified by the OpcNodeTypeAttribute used on the nodeType or on one of the nodeTypes specified.

Exceptions (all overloads)

ExceptionCondition
ArgumentExceptionA Type does not use any node type specific attribute which offers invalid information about the node type to associate with the Type.

RegisterTypes(Assembly) ​

static · since v2.20

Registers all non-abstract types in the assembly specified which defines the OpcNodeTypeAttribute.

csharp
public static void RegisterTypes(Assembly assembly)
vbnet
Public Shared Sub RegisterTypes(assembly As Assembly)

Parameters

NameTypeDescription
assemblyAssemblyThe Assembly its types are inspected for types which using the OpcNodeTypeAttribute.

Exceptions

ExceptionCondition
ArgumentNullExceptionThe assembly is a null reference (Nothing in Visual Basic).

Remarks

The Type instances to register need to define the OpcNodeTypeAttribute and needs to be a subclass of the OpcNode class.

RegisterTypes(IEnumerable<Type>) ​

static · since v2.20

Registers the nodeTypes specified as the node object type to create in case there a node instance is to be created for the type nodes identified by the OpcEventTypeAttribute used on one of the nodeTypes specified.

csharp
public static void RegisterTypes(IEnumerable<Type> nodeTypes)
vbnet
Public Shared Sub RegisterTypes(nodeTypes As IEnumerable(Of Type))

Parameters

NameTypeDescription
nodeTypesIEnumerable<Type>A sequence of Type instances representing the types to use in case there a node object for the node type equals to the node type identifier defined using the OpcNodeTypeAttribute is to be created.

Exceptions

ExceptionCondition
ArgumentNullExceptionThe nodeTypes is a null reference (Nothing in Visual Basic).

Remarks

Any null reference (Nothing in Visual Basic) in nodeTypes is ignored.

RegisterTypes(Type, params Type[]) ​

static · since v2.20

Registers the nodeType and the further specified nodeTypes as the node object type to create in case there a node instance is to be created for the type node identified by the OpcNodeTypeAttribute used on the nodeType or on one of the nodeTypes specified.

csharp
public static void RegisterTypes(Type nodeType, params Type[] nodeTypes)
vbnet
Public Shared Sub RegisterTypes(
    nodeType As Type,
    ParamArray nodeTypes As Type())

Parameters

NameTypeDescription
nodeTypeTypeThe Type instance to use in case there a node object for the node type equals to the node type identifier defined using the OpcNodeTypeAttribute is to be created.
nodeTypesparams Type[]An array of additional Type instances to use in case there a node object for the node types equals to the node type identifier defined using the OpcNodeTypeAttribute is to be created.

Exceptions

ExceptionCondition
ArgumentNullExceptionThe nodeType or nodeTypes is a null reference (Nothing in Visual Basic).

RemoveNotifier ​

virtual

Removes the node from the collection of notifiers (= event sources) of this node.

csharp
public virtual void RemoveNotifier(OpcContext context, IOpcNode node)
vbnet
Public Overridable Sub RemoveNotifier(context As OpcContext, node As IOpcNode)

Parameters

NameTypeDescription
contextOpcContextThe OpcContext to use to remove the node as the notifying event source.
nodeIOpcNodeThe IOpcNode instance no longer acting as the notifier.

Exceptions

ExceptionCondition
ArgumentNullExceptionThe context or node is a null reference (Nothing in Visual Basic).

Implements

RemoveNotifier

ReportEvent ​

Reports the eventData specified to all nodes this OpcNode is a notifier of.

csharp
public void ReportEvent(OpcContext context, OpcEvent eventData)
vbnet
Public Sub ReportEvent(context As OpcContext, eventData As OpcEvent)

Parameters

NameTypeDescription
contextOpcContextThe OpcContext to use to notify about the eventData.
eventDataOpcEventThe OpcEvent instance to report.

Exceptions

ExceptionCondition
ArgumentExceptionThe eventData does not provide a OpcEventNodeSnapshot.
ArgumentNullExceptionThe context or eventData is a null reference (Nothing in Visual Basic).

ResolveModel ​

protected · virtual · since v2.54

Resolves the Model of the node.

csharp
protected virtual OpcNodeModel ResolveModel()
vbnet
Protected Overridable Function ResolveModel() As OpcNodeModel

Returns

OpcNodeModel

The OpcNodeModel assigned to the node, the model of the child with the Name of the node within the Model of its parent node or None if neither of them is available.

ResumeModelChangeEvents ​

since v2.50

Resumes model change tracking and events for this OpcNode and optionally for all children.

csharp
public void ResumeModelChangeEvents(bool recursive = false)
vbnet
Public Sub ResumeModelChangeEvents(recursive As Boolean = False)

Parameters

NameTypeDescription
recursiveBooleanThe value true if model changes are to be resumed for all children as well; otherwise the value false. Optional, default false.

SuspendModelChangeEvents ​

since v2.50

Temporarily suspends model change tracking and events for this OpcNode and optionally for all children.

csharp
public void SuspendModelChangeEvents(bool recursive = false)
vbnet
Public Sub SuspendModelChangeEvents(recursive As Boolean = False)

Parameters

NameTypeDescription
recursiveBooleanThe value true if model changes are to be suspended for all children as well; otherwise the value false. Optional, default false.

UnregisterType ​

static · 2 overloads · since v2.20

OverloadDescription
UnregisterType<T>()static · since v2.20Unregisters the previously registered (see RegisterType) type defined by T as the object type to not longer create for the type node identified by the OpcNodeTypeAttribute defined on the T specified.
UnregisterType<T>(OpcNodeId)static · since v2.20Unregisters the previously registered (see RegisterType) type defined by T as the object type to not longer create for the type node identified by the nodeTypeId specified.

UnregisterType<T>() ​

static · since v2.20

Unregisters the previously registered (see RegisterType) type defined by T as the object type to not longer create for the type node identified by the OpcNodeTypeAttribute defined on the T specified.

csharp
public static void UnregisterType<T>()
vbnet
Public Shared Sub UnregisterType(Of T)()

Type parameters

NameDescription
TThe node type to unregister for the node type equals to node type identifier defined using the OpcNodeTypeAttribute.

UnregisterType<T>(OpcNodeId) ​

static · since v2.20

Unregisters the previously registered (see RegisterType) type defined by T as the object type to not longer create for the type node identified by the nodeTypeId specified.

csharp
public static void UnregisterType<T>(OpcNodeId nodeTypeId)
vbnet
Public Shared Sub UnregisterType(Of T)(nodeTypeId As OpcNodeId)

Type parameters

NameDescription
TThe node type to unregister for the node type equals to nodeTypeId.

Parameters

NameTypeDescription
nodeTypeIdOpcNodeIdThe identifier of the type node for which the T is to be unregistered.

Exceptions

ExceptionCondition
ArgumentNullExceptionThe nodeTypeId is a null reference (Nothing in Visual Basic).

UnregisterTypes ​

static · 3 overloads · since v2.20

OverloadDescription
UnregisterTypes(Assembly)static · since v2.20Unregisters all previously registered types (see RegisterTypes) in the assembly specified.
UnregisterTypes(IEnumerable<Type>)static · since v2.20Unregisters the previously registered (see RegisterTypes) nodeTypes specified.
UnregisterTypes(Type, params Type[])static · since v2.20Unregisters the previously registered nodeType and the further specified nodeTypes (see RegisterTypes).

UnregisterTypes(Assembly) ​

static · since v2.20

Unregisters all previously registered types (see RegisterTypes) in the assembly specified.

csharp
public static void UnregisterTypes(Assembly assembly)
vbnet
Public Shared Sub UnregisterTypes(assembly As Assembly)

Parameters

NameTypeDescription
assemblyAssemblyThe Assembly its types are inspected for types using the OpcNodeTypeAttribute.

Exceptions

ExceptionCondition
ArgumentNullExceptionThe assembly is a null reference (Nothing in Visual Basic).

UnregisterTypes(IEnumerable<Type>) ​

static · since v2.20

Unregisters the previously registered (see RegisterTypes) nodeTypes specified.

csharp
public static void UnregisterTypes(IEnumerable<Type> nodeTypes)
vbnet
Public Shared Sub UnregisterTypes(nodeTypes As IEnumerable(Of Type))

Parameters

NameTypeDescription
nodeTypesIEnumerable<Type>A sequence of Type instances to unregister for the node types equals to the node type identifiers defined using the OpcNodeTypeAttribute.

Exceptions

ExceptionCondition
ArgumentNullExceptionThe nodeTypes is a null reference (Nothing in Visual Basic).

UnregisterTypes(Type, params Type[]) ​

static · since v2.20

Unregisters the previously registered nodeType and the further specified nodeTypes (see RegisterTypes).

csharp
public static void UnregisterTypes(Type nodeType, params Type[] nodeTypes)
vbnet
Public Shared Sub UnregisterTypes(
    nodeType As Type,
    ParamArray nodeTypes As Type())

Parameters

NameTypeDescription
nodeTypeTypeThe Type instance to unregister for the node types equals to the node type identifiers defined using the OpcNodeTypeAttribute.
nodeTypesparams Type[]

Exceptions

ExceptionCondition
ArgumentNullExceptionThe nodeType or nodeTypes is a null reference (Nothing in Visual Basic).

UpdateChanges ​

2 overloads · since v2.10

OverloadDescription
UpdateChanges(OpcContext, OpcNodeChanges)since v2.10Notifies about the changes on behalf of the node and removes pending changes which intersect with the changes specified.
UpdateChanges(OpcContext, OpcNodeChanges, bool)since v2.10Notifies about the changes on behalf of the node (and optionally on its children) and removes pending changes which intersect with the changes specified.

Exceptions (all overloads)

ExceptionCondition
ArgumentNullExceptionThe context is a null reference (Nothing in Visual Basic).

UpdateChanges(OpcContext, OpcNodeChanges) ​

since v2.10

Notifies about the changes on behalf of the node and removes pending changes which intersect with the changes specified.

csharp
public void UpdateChanges(OpcContext context, OpcNodeChanges changes)
vbnet
Public Sub UpdateChanges(context As OpcContext, changes As OpcNodeChanges)

Parameters

NameTypeDescription
contextOpcContextThe OpcContext to use to notify about the changes.
changesOpcNodeChangesA bitwise combination of OpcNodeChanges members to use to notify changes on behalf of the node.

Remarks

This method influences the value of the properties PendingChanges and HasPendingChanges.

UpdateChanges(OpcContext, OpcNodeChanges, bool) ​

since v2.10

Notifies about the changes on behalf of the node (and optionally on its children) and removes pending changes which intersect with the changes specified.

csharp
public void UpdateChanges(
    OpcContext context,
    OpcNodeChanges changes,
    bool recursive)
vbnet
Public Sub UpdateChanges(
    context As OpcContext,
    changes As OpcNodeChanges,
    recursive As Boolean)

Parameters

NameTypeDescription
contextOpcContextThe OpcContext to use to notify about changes performed on the node.
changesOpcNodeChangesA bitwise combination of OpcNodeChanges members to use to notify changes on behalf of the node (and its children).
recursiveBooleanThe value true if the changes are to be notified for all children as well; otherwise the value false.

Remarks

This method influences the value of the properties PendingChanges and HasPendingChanges.

WriteAttributeValueCore ​

protected · virtual

Determines the value of the attribute to write. In case there a callback is assigned to write the value of the attribute (see WriteDisplayNameCallback, WriteDescriptionCallback, WriteUserWriteAccessCallback and WriteWriteAccessCallback) the callback determines the value written; otherwise the value is returned.

csharp
protected virtual OpcAttributeValue<T> WriteAttributeValueCore<T>(
    OpcWriteAttributeValueContext context,
    OpcAttributeValue<T> value)
vbnet
Protected Overridable Function WriteAttributeValueCore(Of T)(
    context As OpcWriteAttributeValueContext,
    value As OpcAttributeValue(Of T)) As OpcAttributeValue(Of T)

Type parameters

NameDescription
TThe type of attribute value to write.

Parameters

NameTypeDescription
contextOpcWriteAttributeValueContextThe OpcWriteAttributeValueContext to use to write the attribute value.
valueOpcAttributeValue<T>The OpcAttributeValue<T> to write.

Returns

OpcAttributeValue<T>

The OpcAttributeValue<T> written.

Events ​

AfterAdded ​

since v2.26

Occurs after the node has been added to the address space.

csharp
public event OpcNodeAddedEventHandler AfterAdded
vbnet
Public Event AfterAdded As OpcNodeAddedEventHandler

Event type

OpcNodeAddedEventHandler

AfterApplyChanges ​

Occurs after one or more changes on the node has been notified.

csharp
public event OpcNodeChangesEventHandler AfterApplyChanges
vbnet
Public Event AfterApplyChanges As OpcNodeChangesEventHandler

Event type

OpcNodeChangesEventHandler

Remarks

The changes notified either belong to the PendingChanges or to changes on behalf of the node.

BeforeAdded ​

since v2.26

Occurs before the node is added to the address space.

csharp
public event OpcNodeAddedEventHandler BeforeAdded
vbnet
Public Event BeforeAdded As OpcNodeAddedEventHandler

Event type

OpcNodeAddedEventHandler

BeforeApplyChanges ​

Occurs before one or more changes on the node are notified.

csharp
public event OpcNodeChangesEventHandler BeforeApplyChanges
vbnet
Public Event BeforeApplyChanges As OpcNodeChangesEventHandler

Event type

OpcNodeChangesEventHandler

Remarks

The changes notified either belong to the PendingChanges or to changes on behalf of the node.

ChangesUnhandled ​

since v2.50

Occurs when changes applied with ApplyChanges are not monitored or discarded by all monitored items.

csharp
public event OpcNodeChangesEventHandler ChangesUnhandled
vbnet
Public Event ChangesUnhandled As OpcNodeChangesEventHandler

Event type

OpcNodeChangesEventHandler

EventReported ​

since v2.54

Occurs after an event has been reported using ReportEvent.

csharp
public event OpcNodeEventReportedEventHandler EventReported
vbnet
Public Event EventReported As OpcNodeEventReportedEventHandler

Event type

OpcNodeEventReportedEventHandler