예제 #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);
 }
예제 #2
0
        public override object CreateInstance(AdviceArgs adviceArgs)
        {
            NotifyPropertyChangedAttribute clone = (NotifyPropertyChangedAttribute)base.CreateInstance(adviceArgs);

            clone.initialized = false;
            clone.childPropertyChangedProcessor = ChildPropertyChangedProcessor.CreateFromPrototype(this.childPropertyChangedProcessor, adviceArgs.Instance);

            return(clone);
        }