Table of Contents

Interface IBindingHandle

Namespace
RDCore.SDK.Model.Values.Bindings
Assembly
RDCore.SDK.dll

A handle to a binding to a runtime entity.

public interface IBindingHandle

Remarks

The value operations take ISymbolResolver — the read face over the current execution context — so a handle that is not self-contained (a reference to another address, a property- or member-backed binding) can resolve its value through the same read protocol that produced it. The self-contained literal/value/reference cases ignore it today.

Properties

BindingCapabilities

Indicates the valid members of this binding.

BindingCapabilities BindingCapabilities { get; }

Property Value

BindingCapabilities

Value

The bound runtime value, read without a resolver.

IRuntimeValue Value { get; }

Property Value

IRuntimeValue

Remarks

👉 A direct read for the common literal/value cases. Handles that resolve a value lazily or via a reference still expose GetValue(ISymbolResolver).

Exceptions

NotSupportedException

The binding has no readable value.

Methods

GetValue(ISymbolResolver)

Gets the value associated to this handle, resolving through resolver when the binding is not self-contained.

IRuntimeValue GetValue(ISymbolResolver resolver)

Parameters

resolver ISymbolResolver

Returns

IRuntimeValue

Remarks

👉 Verify that the binding supports GetValue.

Exceptions

NotSupportedException

Invoke(ISymbolResolver, IRuntimeValue[])

Invokes the callable entity associated to this handle, and returns the runtime value it yields - an HRESULT (S_OK), for one that yields no value.

IRuntimeValue Invoke(ISymbolResolver resolver, IRuntimeValue[] args)

Parameters

resolver ISymbolResolver
args IRuntimeValue[]

Returns

IRuntimeValue

Remarks

👉 Verify that the binding supports Invoke.
A handle to code that runs on a call stack does not push the frame itself: it hands the call to an IProcedureInvoker.

Exceptions

NotSupportedException

The binding does not support Invoke.

VBRuntimeErrorException

A run-time error was raised by the invoked entity and nothing handled it.

SetValue(ISymbolResolver, IRuntimeValue)

Sets the value associated to this handle.

void SetValue(ISymbolResolver resolver, IRuntimeValue value)

Parameters

resolver ISymbolResolver
value IRuntimeValue

Remarks

👉 Verify that the binding supports SetValue.

Exceptions

NotSupportedException