Class RuntimeTrackingEmitContext<TOriginal>
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
EnsureEditMethod
Gets the method that ensures an edit snapshot.
public MethodBuilder? EnsureEditMethod { get; }
Property Value
IsNewField
Gets the new state field.
public FieldBuilder IsNewField { get; }
Property Value
MapperField
Gets the runtime member map field.
public FieldBuilder MapperField { get; }
Property Value
OriginalField
Gets the original value field.
public FieldBuilder OriginalField { get; }
Property Value
SnapshotBuilder
Gets the snapshot type builder.
public TypeBuilder SnapshotBuilder { get; }
Property Value
TypeBuilder
Gets the generated item builder.
public TypeBuilder TypeBuilder { get; }
Property Value
Methods
AddInitializer(Action<Type>)
Adds setup to run after the CLR type is created.
public void AddInitializer(Action<Type> initializer)
Parameters
EmitChanged(ILGenerator, string?)
Emits a change notification when one is configured.
public void EmitChanged(ILGenerator il, string? propertyName)
Parameters
ilILGeneratorpropertyNamestring
EmitEnsureEdit(ILGenerator)
Emits a call that ensures an edit snapshot.
public void EmitEnsureEdit(ILGenerator il)
Parameters
ilILGenerator
EmitLoadEdit(ILGenerator)
Emits a load of the edit snapshot.
public void EmitLoadEdit(ILGenerator il)
Parameters
ilILGenerator
EmitLoadOriginalForWrite(ILGenerator)
Emits a writable load of the original target.
public void EmitLoadOriginalForWrite(ILGenerator il)
Parameters
ilILGenerator
EmitLoadOriginalTarget(ILGenerator)
Emits a load of the original target.
public void EmitLoadOriginalTarget(ILGenerator il)
Parameters
ilILGenerator
EmitLoadOriginalValue(ILGenerator)
Emits a load of the original value.
public void EmitLoadOriginalValue(ILGenerator il)
Parameters
ilILGenerator
SetChangedEmitter(Action<ILGenerator, string?>)
Sets the change notification emitter.
public void SetChangedEmitter(Action<ILGenerator, string?> emitter)
Parameters
emitterAction<ILGenerator, string>