Table of Contents

Class FlowGraphRuntimeExtensions

Namespace
Ceres.Graph.Flow
Assembly
cs.temp.dll.dll
public static class FlowGraphRuntimeExtensions
Inheritance
object
FlowGraphRuntimeExtensions
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()

Methods

GetEventHandler(IFlowGraphRuntime)

Get the bound to runtime FlowGraph instance

public static CallbackEventHandler GetEventHandler(this IFlowGraphRuntime runtime)

Parameters

runtime IFlowGraphRuntime

Returns

CallbackEventHandler

GetRuntimeFlowGraph(IFlowGraphRuntime)

Get runtime FlowGraph instance

public static FlowGraph GetRuntimeFlowGraph(this IFlowGraphRuntime runtime)

Parameters

runtime IFlowGraphRuntime

Returns

FlowGraph

Remarks

Convenient for inheritors to implicitly obtain the runtime graph instance when Graph is explicitly implemented.

OverrideEventImplementation<TEventType>(IFlowGraphRuntime, EventCallback<TEventType>)

Override graph implementation of >

public static IDisposable OverrideEventImplementation<TEventType>(this IFlowGraphRuntime runtime, EventCallback<TEventType> implementation) where TEventType : EventBase<TEventType>, new()

Parameters

runtime IFlowGraphRuntime
implementation EventCallback<TEventType>

Returns

IDisposable

Type Parameters

TEventType

ProcessEvent(IFlowGraphRuntime, string)

Invoke flow graph event

public static void ProcessEvent(this IFlowGraphRuntime runtime, string eventName = "")

Parameters

runtime IFlowGraphRuntime
eventName string

ProcessEvent<T1>(IFlowGraphRuntime, T1, string)

Invoke flow graph event with parameters

public static void ProcessEvent<T1>(this IFlowGraphRuntime runtime, T1 arg1, string eventName = "")

Parameters

runtime IFlowGraphRuntime
arg1 T1
eventName string

Type Parameters

T1

ProcessEvent<T1, T2>(IFlowGraphRuntime, T1, T2, string)

Invoke flow graph event with parameters

public static void ProcessEvent<T1, T2>(this IFlowGraphRuntime runtime, T1 arg1, T2 arg2, string eventName = "")

Parameters

runtime IFlowGraphRuntime
arg1 T1
arg2 T2
eventName string

Type Parameters

T1
T2

ProcessEvent<T1, T2, T3>(IFlowGraphRuntime, T1, T2, T3, string)

Invoke flow graph event with parameters

public static void ProcessEvent<T1, T2, T3>(this IFlowGraphRuntime runtime, T1 arg1, T2 arg2, T3 arg3, string eventName = "")

Parameters

runtime IFlowGraphRuntime
arg1 T1
arg2 T2
arg3 T3
eventName string

Type Parameters

T1
T2
T3

ProcessEvent<T1, T2, T3, T4>(IFlowGraphRuntime, T1, T2, T3, T4, string)

Invoke flow graph event with parameters

public static void ProcessEvent<T1, T2, T3, T4>(this IFlowGraphRuntime runtime, T1 arg1, T2 arg2, T3 arg3, T4 arg4, string eventName = "")

Parameters

runtime IFlowGraphRuntime
arg1 T1
arg2 T2
arg3 T3
arg4 T4
eventName string

Type Parameters

T1
T2
T3
T4

ProcessEvent<T1, T2, T3, T4, T5>(IFlowGraphRuntime, T1, T2, T3, T4, T5, string)

Invoke flow graph event with parameters

public static void ProcessEvent<T1, T2, T3, T4, T5>(this IFlowGraphRuntime runtime, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, string eventName = "")

Parameters

runtime IFlowGraphRuntime
arg1 T1
arg2 T2
arg3 T3
arg4 T4
arg5 T5
eventName string

Type Parameters

T1
T2
T3
T4
T5

ProcessEvent<T1, T2, T3, T4, T5, T6>(IFlowGraphRuntime, T1, T2, T3, T4, T5, T6, string)

Invoke flow graph event with parameters

public static void ProcessEvent<T1, T2, T3, T4, T5, T6>(this IFlowGraphRuntime runtime, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, string eventName = "")

Parameters

runtime IFlowGraphRuntime
arg1 T1
arg2 T2
arg3 T3
arg4 T4
arg5 T5
arg6 T6
eventName string

Type Parameters

T1
T2
T3
T4
T5
T6

ProcessEventUber(IFlowGraphRuntime, object[], string)

Invoke flow graph event with any parameters

public static void ProcessEventUber(this IFlowGraphRuntime runtime, object[] parameters, string eventName = "")

Parameters

runtime IFlowGraphRuntime
parameters object[]
eventName string

Remarks

Note that this method causes boxing and unboxing, which results in allocation. Consider using an overload method with fewer parameters.

SendEvent(IFlowGraphRuntime, EventBase)

Send event to runtime FlowGraph instance

public static void SendEvent(this IFlowGraphRuntime runtime, EventBase @event)

Parameters

runtime IFlowGraphRuntime
event EventBase

SubscribeExecution<TEventType>(CallbackEventHandler, IFlowGraphRuntime)

Subscribe an execution of > as callback

public static IDisposable SubscribeExecution<TEventType>(this CallbackEventHandler eventHandler, IFlowGraphRuntime runtime) where TEventType : EventBase<TEventType>, new()

Parameters

eventHandler CallbackEventHandler
runtime IFlowGraphRuntime

Returns

IDisposable

Type Parameters

TEventType