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)); }