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.

IRuntimeValue Invoke(ISymbolResolver resolver, IRuntimeValue[] args)

Parameters

resolver ISymbolResolver
args IRuntimeValue[]

Returns

IRuntimeValue

Remarks

👉 Verify that the binding supports Invoke.

Exceptions

NotSupportedException

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