コード例 #1
0
 protected override void MonitorCurrentTargetOverride()
 {
     if (CurrentTarget is INotifyPropertyChanged notifyPropertyChanged)
     {
         notifyPropertyChanged.PropertyChanged += _weakHandlerWrapper;
     }
     _propertyReader = PropertyReaderFactory.Create <object>(CurrentTarget.GetType(), PropertyName);
 }
コード例 #2
0
 protected override void MonitorCurrentTargetOverride()
 {
     CurrentTarget?.GetType().GetEvent(PropertyName + "Changed")?.GetAddMethod()
     .Invoke(CurrentTarget, new object[]
     {
         _actualHandler
     });
     _propertyReader = PropertyReaderFactory.Create <object>(CurrentTarget?.GetType(), PropertyName);
 }
コード例 #3
0
        /// <summary>
        /// When overridden in a derived class, gives the class an opportunity to monitor the current target.
        /// </summary>
        protected override void MonitorCurrentTargetOverride()
        {
            var currentTarget = CurrentTarget as INotifyPropertyChanged;

            if (currentTarget != null)
            {
                currentTarget.PropertyChanged += _weakHandlerWrapper;
            }
            _propertyReader = PropertyReaderFactory.Create <object>(CurrentTarget.GetType(), PropertyName);
        }
コード例 #4
0
 /// <summary>
 /// When overridden in a derived class, gives the class an opportunity to monitor the current target.
 /// </summary>
 protected override void MonitorCurrentTargetOverride()
 {
     if (CurrentTarget != null)
     {
         var eventInfo = CurrentTarget.GetType().GetEvent(PropertyName + "Changed");
         if (eventInfo != null)
         {
             var addMethod = eventInfo.GetAddMethod();
             if (addMethod != null)
             {
                 addMethod.Invoke(CurrentTarget, new object[] { _actualHandler });
             }
         }
     }
     _propertyReader = PropertyReaderFactory.Create <object>(CurrentTarget.GetType(), PropertyName);
 }
コード例 #5
0
        void AddFromParametersObject(object args)
        {
            if (args == null)
            {
                return;
            }

            var type = args.GetType();

            foreach (var property in type.GetTypeInfo().GetProperties())
            {
                var rw = PropertyReaderFactory.Create <object>(type, property.Name);

                var value = rw.Read(args);
                this[property.Name] = value;
            }
        }