Skip to content

Class IRInvocation<TDelegate, TReturn>

Namespace: DotBoxD.Abstractions
Assembly: DotBoxD.Abstractions.dll

Public carrier for a generated anonymous server invocation. The generated plugin facade consumes the package factory as its concrete plugin package type, while abstractions remain independent of the plugin hosting assembly.

public sealed class IRInvocation<TDelegate, TReturn> where TDelegate : Delegate

TDelegate

TReturn

objectIRInvocation<TDelegate, TReturn>

object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.ReferenceEquals(object?, object?), object.ToString()

public Func<TDelegate, ReadOnlyMemory<byte>, TReturn> DecodeResult { get; }

Func<TDelegate, ReadOnlyMemory<byte>, TReturn>

public Func<TDelegate, byte[]> EncodeArguments { get; }

Func<TDelegate, byte[]>

public Func<object> PackageFactory { get; }

Func<object>

public string PluginId { get; }

string

FromGenerated(string, Func<object>, Func<TDelegate, byte[]>, Func<TDelegate, ReadOnlyMemory<byte>, TReturn>)

Section titled “ FromGenerated(string, Func<object>, Func<TDelegate, byte[]>, Func<TDelegate, ReadOnlyMemory<byte>, TReturn>)”
public static IRInvocation<TDelegate, TReturn> FromGenerated(string pluginId, Func<object> packageFactory, Func<TDelegate, byte[]> encodeArguments, Func<TDelegate, ReadOnlyMemory<byte>, TReturn> decodeResult)

pluginId string

packageFactory Func<object>

encodeArguments Func<TDelegate, byte[]>

decodeResult Func<TDelegate, ReadOnlyMemory<byte>, TReturn>

IRInvocation<TDelegate, TReturn>