Table of Contents

Class RuntimeTrackingEmitContext<TOriginal>

Namespace
Rinku.Tracking.Runtime
Assembly
Rinku.dll

Provides data and helpers while a tracking type is emitted.

public sealed class RuntimeTrackingEmitContext<TOriginal>

Type Parameters

TOriginal
Inheritance
RuntimeTrackingEmitContext<TOriginal>
Inherited Members
Extension Methods

Properties

Definition

Gets the generation definition.

public RuntimeTrackingTypeDefinition<TOriginal> Definition { get; }

Property Value

RuntimeTrackingTypeDefinition<TOriginal>

EditField

Gets the edit snapshot field.

public FieldBuilder EditField { get; }

Property Value

FieldBuilder

EnsureEditMethod

Gets the method that ensures an edit snapshot.

public MethodBuilder? EnsureEditMethod { get; }

Property Value

MethodBuilder

IsNewField

Gets the new state field.

public FieldBuilder IsNewField { get; }

Property Value

FieldBuilder

MapperField

Gets the runtime member map field.

public FieldBuilder MapperField { get; }

Property Value

FieldBuilder

OriginalField

Gets the original value field.

public FieldBuilder OriginalField { get; }

Property Value

FieldBuilder

SnapshotBuilder

Gets the snapshot type builder.

public TypeBuilder SnapshotBuilder { get; }

Property Value

TypeBuilder

TypeBuilder

Gets the generated item builder.

public TypeBuilder TypeBuilder { get; }

Property Value

TypeBuilder

Methods

AddInitializer(Action<Type>)

Adds setup to run after the CLR type is created.

public void AddInitializer(Action<Type> initializer)

Parameters

initializer Action<Type>

EmitChanged(ILGenerator, string?)

Emits a change notification when one is configured.

public void EmitChanged(ILGenerator il, string? propertyName)

Parameters

il ILGenerator
propertyName string

EmitEnsureEdit(ILGenerator)

Emits a call that ensures an edit snapshot.

public void EmitEnsureEdit(ILGenerator il)

Parameters

il ILGenerator

EmitLoadEdit(ILGenerator)

Emits a load of the edit snapshot.

public void EmitLoadEdit(ILGenerator il)

Parameters

il ILGenerator

EmitLoadOriginalForWrite(ILGenerator)

Emits a writable load of the original target.

public void EmitLoadOriginalForWrite(ILGenerator il)

Parameters

il ILGenerator

EmitLoadOriginalTarget(ILGenerator)

Emits a load of the original target.

public void EmitLoadOriginalTarget(ILGenerator il)

Parameters

il ILGenerator

EmitLoadOriginalValue(ILGenerator)

Emits a load of the original value.

public void EmitLoadOriginalValue(ILGenerator il)

Parameters

il ILGenerator

SetChangedEmitter(Action<ILGenerator, string?>)

Sets the change notification emitter.

public void SetChangedEmitter(Action<ILGenerator, string?> emitter)

Parameters

emitter Action<ILGenerator, string>