// Note since the Target and Method are not set, the default IEquatable implementation does not produce // accurate results. // DRM: Acutally the IEquatable implementation should be ok -- but need to create unit test to be sure. // TODO: Create unit test to verify that the IEquatable implementation for SubscriptionKeyForBinding produces accurate result. // Creates a new Binding Request. protected SubscriptionKeyGen( ExKeyT ownerPropId, Type propertyType, LocalBindingInfo bindingInfo, SubscriptionKind kind, SubscriptionPriorityGroup subscriptionPriorityGroup, Func <ISubscriptionKeyGen, PSAccessServiceInterface, ISubscription> bindingFactory) { OwnerPropId = ownerPropId; // The binding is created on the target, we will go find the source of the events to listen. PropertyType = PropertyType; SubscriptionKind = kind; SubscriptionPriorityGroup = subscriptionPriorityGroup; //SubscriptionTargetKind = SubscriptionTargetKind.GlobalPropId; //GenDoWhenChanged = null; //Action = null; Target_Wrk = WeakRefKey.Empty; Method = null; SubscriptionFactory = null; BindingFactory = bindingFactory; HasBeenUsed = false; // Properties unique to Binding Subscriptions BindingInfo = bindingInfo; }
public BindingSubscriptionKey ( ExKeyT ownerPropId, LocalBindingInfo bindingInfo ) : base ( ownerPropId, typeof(T), bindingInfo, SubscriptionKind.LocalBinding, SubscriptionPriorityGroup.First, CreateBindingGen ) { }
public ViewManagerProviderKey(LocalBindingInfo bindingInfo, IMapperRequest mapperRequest) { BindingInfo = bindingInfo; MapperRequest = mapperRequest ?? throw new ArgumentNullException(nameof(mapperRequest)); }
public virtual bool UnregisterBinding(IRegisterBindingsFowarderType forwarder, PropIdType propId, LocalBindingInfo bindingInfo) { return(forwarder.RegisterBinding <T>(propId, bindingInfo)); }