Beispiel #1
0
 public AssemblyDiversion(IDiversionDiviner diviner, IAssemblyInfo old, IAssemblyInfo @new) : base(old, @new)
 {
     _typeDiversions = new Lazy <IDiversions <ITypeInfo, ITypeDiversion> >(() => diviner.DivineDiversions(old.Types, @new.Types,
                                                                                                          (o, n) => new TypeDiversion(diviner, o, n)), true);
     _attributeDiversions = new Lazy <ICollectionDiversions <IAttributeInfo> >(() => diviner.DivineCollectionDiversions(old.Attributes, @new.Attributes), true);
     _hasDiverged         = new Lazy <bool>(() => TypeDiversions.HasDiverged() || AttributeDiversions.HasDiverged() || base.HasDiverged(), true);
 }
Beispiel #2
0
 public TypeDiversion(IDiversionDiviner diviner, ITypeInfo old, ITypeInfo @new)
     : base(old, @new)
 {
     _memberChanges       = new Lazy <IDiversions <IMemberInfo> >(() => diviner.DivineDiversions(old.Members, @new.Members), true);
     _interfaceChanges    = new Lazy <ICollectionDiversions <ITypeReference> >(() => diviner.DivineCollectionDiversions(old.Interfaces, @new.Interfaces), true);
     _attributeDiversions = new Lazy <ICollectionDiversions <IAttributeInfo> >(() => diviner.DivineCollectionDiversions(old.Attributes, @new.Attributes), true);
     _hasDiverged         = new Lazy <bool>(() => base.HasDiverged() || MemberDiversions.HasDiverged() || InterfaceDiversions.HasDiverged() || AttributeDiversions.HasDiverged(), true);
 }