Table of Contents

Namespace Dynamitey

Classes

Activate

Encapsulates an Activator

Activate<TObjectPrototype>

Encapsulates an Activator

AwaitableResult

Wraps a Task - specifically a Task<TResult> or a ValueTask<TResult> whose TResult is not accessible to the calling assembly - so that await, including a dynamically-bound await on the dynamic result of InvokeMember(object, String_OR_InvokeMemberName, params object?[]), can complete without the C# runtime binder ever needing to know TResult.

AwaitableResult.Awaiter

The awaiter for AwaitableResult. Every member is public with a public signature so the C# runtime binder can resolve them for a dynamically-typed await without ever needing access to the wrapped task's TResult.

Build

Syntax for a quick new inline prototype object

Build<TObjectPrototype>

Syntax for a quick inline object property setup

Builder

Builds Objects with a Fluent Syntax

CacheableInvocation

Cacheable representation of an invocation without the target or arguments. By default only public members are bound, which makes the CallSite easier to reuse. Accessibility and static context are taken from the constructor context argument and are not updated if Invoke(object, params object?[]?) is later passed an InvokeContext; that wrapper is unwrapped to its Target only.

Dynamic

Main API

Expando

Builder syntax for constructing ExpandoObject graphs inline, rather than creating one and assigning members statement by statement.

FluentRegex

Extension Methods for fluent Regex

Invocation

Storable representation of an invocation without the target

InvokeArg

Use for Named arguments passed to InvokeMethods

InvokeArg<T>

InvokeArg that makes it easier to Cast from any IDictionaryValue

InvokeContext

Object that stores a context with a target for dynamic invocation

InvokeMemberName

Name of Member with associated Generic parameters

PartialApply

Internal method for subsequent invocations of Curry(object, int?)

ReturnVoid

Fluent class for writing inline lambdas that return void

Return<TR>

Fluent Class for writing inline lambdas

StaticContext

Specific version of InvokeContext which declares a type to be used to invoke static methods.

String_OR_InvokeMemberName

String or InvokeMemberName

ThisDelegate

Extension method for Dealing with Special Delegate Type

Tupler

Dynamically Dealing with Tuples

Interfaces

IPartialApply

Partial Application Proxy

Enums

InvocationKind

Type of Invocation

Delegates

ThisAction

Special Delegate used to make impromptu object methods first parameter is this.

ThisAction<T1>

Special Delegate used to make impromptu object methods first parameter is this.

ThisAction<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>

Special Delegate used to make impromptu object methods first parameter is this.

ThisAction<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>

Special Delegate used to make impromptu object methods first parameter is this.

ThisAction<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>

Special Delegate used to make impromptu object methods first parameter is this.

ThisAction<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>

Special Delegate used to make impromptu object methods first parameter is this.

ThisAction<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>

Special Delegate used to make impromptu object methods first parameter is this.

ThisAction<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>

Special Delegate used to make impromptu object methods first parameter is this.

ThisAction<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>

Special Delegate used to make impromptu object methods first parameter is this.

ThisAction<T1, T2>

Special Delegate used to make impromptu object methods first parameter is this.

ThisAction<T1, T2, T3>

Special Delegate used to make impromptu object methods first parameter is this.

ThisAction<T1, T2, T3, T4>

Special Delegate used to make impromptu object methods first parameter is this.

ThisAction<T1, T2, T3, T4, T5>

Special Delegate used to make impromptu object methods first parameter is this.

ThisAction<T1, T2, T3, T4, T5, T6>

Special Delegate used to make impromptu object methods first parameter is this.

ThisAction<T1, T2, T3, T4, T5, T6, T7>

Special Delegate used to make impromptu object methods first parameter is this.

ThisAction<T1, T2, T3, T4, T5, T6, T7, T8>

Special Delegate used to make impromptu object methods first parameter is this.

ThisAction<T1, T2, T3, T4, T5, T6, T7, T8, T9>

Special Delegate used to make impromptu object methods first parameter is this.

ThisFunc<TResult>

Special Delegate used to make impromptu object methods first parameter is this.

ThisFunc<T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult>

Special Delegate used to make impromptu object methods first parameter is this.

ThisFunc<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TResult>

Special Delegate used to make impromptu object methods first parameter is this.

ThisFunc<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, TResult>

Special Delegate used to make impromptu object methods first parameter is this.

ThisFunc<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, TResult>

Special Delegate used to make impromptu object methods first parameter is this.

ThisFunc<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, TResult>

Special Delegate used to make impromptu object methods first parameter is this.

ThisFunc<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, TResult>

Special Delegate used to make impromptu object methods first parameter is this.

ThisFunc<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, TResult>

Special Delegate used to make impromptu object methods first parameter is this.

ThisFunc<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, TResult>

Special Delegate used to make impromptu object methods first parameter is this.

ThisFunc<T1, TResult>

Special Delegate used to make impromptu object methods first parameter is this.

ThisFunc<T1, T2, TResult>

Special Delegate used to make impromptu object methods first parameter is this.

ThisFunc<T1, T2, T3, TResult>

Special Delegate used to make impromptu object methods first parameter is this.

ThisFunc<T1, T2, T3, T4, TResult>

Special Delegate used to make impromptu object methods first parameter is this.

ThisFunc<T1, T2, T3, T4, T5, TResult>

Special Delegate used to make impromptu object methods first parameter is this.

ThisFunc<T1, T2, T3, T4, T5, T6, TResult>

Special Delegate used to make impromptu object methods first parameter is this.

ThisFunc<T1, T2, T3, T4, T5, T6, T7, TResult>

Special Delegate used to make impromptu object methods first parameter is this.

ThisFunc<T1, T2, T3, T4, T5, T6, T7, T8, TResult>

Special Delegate used to make impromptu object methods first parameter is this.