Beispiel #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 PropertyToFieldBiDirectionalBinding(PropertyToFieldBiDirectionalBinding prototype)
 {
     this.propertyToFieldMapping = prototype.propertyToFieldMapping
         .ToDictionary(kv => kv.Key, kv => kv.Value.Select( b => new FieldValueBinding( b ) ).ToList());
     this.fieldValueComparer = prototype.fieldValueComparer;
     this.fieldToPropertyMapping = prototype.fieldToPropertyMapping;
     this.filedInfos = prototype.filedInfos;
 }
 private PropertyToFieldBiDirectionalBinding(PropertyToFieldBiDirectionalBinding prototype)
 {
     this.propertyToFieldMapping = prototype.propertyToFieldMapping
                                   .ToDictionary(kv => kv.Key, kv => kv.Value.Select(b => new FieldValueBinding(b)).ToList());
     this.fieldValueComparer     = prototype.fieldValueComparer;
     this.fieldToPropertyMapping = prototype.fieldToPropertyMapping;
     this.filedInfos             = prototype.filedInfos;
 }
        public PropertyToFieldBiDirectionalBinding(Type type, FieldValueComparer fieldValueComparer)
        {
            this.propertyToFieldMapping = new Dictionary<string, List<FieldValueBinding>>();
            this.fieldToPropertyMapping = new Dictionary<string, List<string>>();
            this.fieldValueComparer = fieldValueComparer;

            this.filedInfos = type
                .GetFields( BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance )
                .ToDictionary( f => f.Name, f => new FieldInfoWithCompiledGetter( f, type ) );
        }
        public PropertyToFieldBiDirectionalBinding(Type type, FieldValueComparer fieldValueComparer)
        {
            this.propertyToFieldMapping = new Dictionary <string, List <FieldValueBinding> >();
            this.fieldToPropertyMapping = new Dictionary <string, List <string> >();
            this.fieldValueComparer     = fieldValueComparer;

            this.filedInfos = type
                              .GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance)
                              .ToDictionary(f => f.Name, f => new FieldInfoWithCompiledGetter(f, type));
        }