public MultiPathObserver([NotNull] object source, [NotNull] IBindingPath path, bool ignoreAttachedMembers) : base(source, path) { Should.BeSupported(!path.IsEmpty, "The MultiPathObserver doesn't support the empty path members."); _listeners = new List <IDisposable>(path.Parts.Count - 1); _ignoreAttachedMembers = ignoreAttachedMembers; _lastMemberListener = new LastMemberListener(ServiceProvider.WeakReferenceFactory(this)); }
/// <summary> /// Initializes a new instance of the <see cref="MultiPathObserver" /> class. /// </summary> public MultiPathObserver([NotNull] object source, [NotNull] IBindingPath path, bool ignoreAttachedMembers) : base(source, path) { Should.BeSupported(!path.IsEmpty, "The MultiPathObserver doesn't support the empty path members."); _listeners = new List<IDisposable>(path.Parts.Count - 1); _ignoreAttachedMembers = ignoreAttachedMembers; _members = UnsetBindingPathMembers.Instance; _lastMemberListener = new LastMemberListener(ServiceProvider.WeakReferenceFactory(this)); Initialize(this); }
public MultiPathObserver([NotNull] object source, [NotNull] IBindingPath path, bool ignoreAttachedMembers, bool hasStablePath, bool observable, bool optional) : base(source, path) { Should.BeSupported(!path.IsEmpty, "The MultiPathObserver doesn't support the empty path members."); _listeners = new List<IDisposable>(path.Parts.Count - 1); _ignoreAttachedMembers = ignoreAttachedMembers; _lastMemberListener = new LastMemberListener(ServiceProvider.WeakReferenceFactory(this)); _hasStablePath = hasStablePath; _observable = observable; _optional = optional; }