Example #1
0
 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));
        }