private static Action<ChangeEventArgs> Handler(ISolution solution, ReflectedReferenceProviderValidator providerValidator) { return args => { var change = args.ChangeMap.GetChange<ProjectModelChange>(solution); if (change == null) return; providerValidator.myProjectModelReady = providerValidator.myProjectModelReady || change.ContainsChangeType(ProjectModelChangeType.PROJECT_MODEL_CACHES_READY); if (!providerValidator.myProjectModelReady || ReferencedAssembliesServiceEx.IsMvcAssemblyReferenceChange(change) == null) return; providerValidator.FireOnChanged(); }; }
public ReflectedReferenceProviderFactory(Lifetime lifetime, ISolution solution, ISettingsStore settingsStore, ReflectedReferenceProviderValidator validator) { lifetime.AddBracket(() => validator.OnChanged += FireOnChanged, () => validator.OnChanged -= FireOnChanged); }