public override void CompileTimeInitialize(Type type, AspectInfo aspectInfo) { this.explicitDependencyMap = analyzer.Value.AnalyzeType(type); this.fieldValueComparer = new FieldValueComparer(type); this.childPropertyChangedProcessor = ChildPropertyChangedProcessor.CompileTimeCreate( type, analyzer.Value.MethodFieldDependencies, this.fieldValueComparer, this.explicitDependencyMap); }
private ChildPropertyChangedProcessor( PropertyFieldBindingsMap propertyToFieldBindings, FieldValueComparer fieldValueComparer, ExplicitDependencyMap explicitDependencyMap) { this.fieldValueComparer = fieldValueComparer; this.explicitDependencyMap = explicitDependencyMap; this.propertyToFieldBindings = propertyToFieldBindings; }
private ChildPropertyChangedProcessor(ChildPropertyChangedProcessor prototype, object instance) { this.instance = instance; this.fieldValueComparer = prototype.fieldValueComparer; this.explicitDependencyMap = prototype.explicitDependencyMap; this.propertyToFieldBindings = PropertyFieldBindingsMap.CreateFromPrototype(prototype.propertyToFieldBindings); this.notifyChildPropertyChangedHandlers = new Dictionary <string, NotifyChildPropertyChangedEventHandlerDescriptor>(); }
public static ChildPropertyChangedProcessor CompileTimeCreate( Type type, Dictionary <MethodBase, IList <FieldInfo> > methodFieldDependencies, FieldValueComparer fieldValueComparer, ExplicitDependencyMap explicitDependencyMap) { PropertyFieldBindingsMap propertyToFieldBindings = PropertyToFieldBindingGenerator.GenerateBindings( type, methodFieldDependencies, fieldValueComparer); return(new ChildPropertyChangedProcessor(propertyToFieldBindings, fieldValueComparer, explicitDependencyMap)); }