コード例 #1
0
        // 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;
        }
コード例 #2
0
 public BindingSubscriptionKey
 (
     ExKeyT ownerPropId,
     LocalBindingInfo bindingInfo
 )
     : base
     (
         ownerPropId,
         typeof(T),
         bindingInfo,
         SubscriptionKind.LocalBinding,
         SubscriptionPriorityGroup.First,
         CreateBindingGen
     )
 {
 }
コード例 #3
0
 public ViewManagerProviderKey(LocalBindingInfo bindingInfo, IMapperRequest mapperRequest)
 {
     BindingInfo   = bindingInfo;
     MapperRequest = mapperRequest ?? throw new ArgumentNullException(nameof(mapperRequest));
 }
コード例 #4
0
ファイル: PropTypedBase.cs プロジェクト: drminor/propbag
 public virtual bool UnregisterBinding(IRegisterBindingsFowarderType forwarder, PropIdType propId, LocalBindingInfo bindingInfo)
 {
     return(forwarder.RegisterBinding <T>(propId, bindingInfo));
 }