コード例 #1
0
    public object CreateInstance(AdviceArgs adviceArgs)
    {
        MyRangeAttribute clone = (MyRangeAttribute)this.MemberwiseClone();

        clone.instance = adviceArgs.Instance;
        return(clone);
    }
コード例 #2
0
        public override object CreateInstance(AdviceArgs aspectArgs)
        {
            object o = base.CreateInstance(aspectArgs);

            GC.SuppressFinalize(o);
            return(o);
        }
コード例 #3
0
        public object CreateInstance(AdviceArgs adviceArgs)
        {
            var newAspect = (WpfControlAspect <T>)MemberwiseClone();

            newAspect._instance = adviceArgs.Instance;

            return(newAspect);
        }
コード例 #4
0
        public override object CreateInstance(AdviceArgs adviceArgs)
        {
            EditableObjectAttribute aspect = (EditableObjectAttribute)base.CreateInstance(adviceArgs);

            aspect.privateTracker         = new AggregateTracker(adviceArgs.Instance, true);
            aspect.implicitOperationStack = new Stack <IDisposable>();
            return(aspect);
        }
        public object CreateInstance(AdviceArgs adviceArgs)
        {
            var newAspect = (DependencyPropertyAspect <T>)MemberwiseClone();

            newAspect._instance = adviceArgs.Instance;

            return(newAspect);
        }
コード例 #6
0
		public object CreateInstance( AdviceArgs adviceArgs )
		{
			var result = Profile.Create( Profile.Method );

			hubSource( adviceArgs.Instance )?.Register( result );

			return result;
		}
コード例 #7
0
        public object CreateInstance(AdviceArgs adviceArgs)
        {
            var newAspect = (ViewModelAspect <TProperties, TCommands>)MemberwiseClone();

            newAspect._instance = adviceArgs.Instance;

            return(newAspect);
        }
コード例 #8
0
        public override object CreateInstance(AdviceArgs aspectArgs)
        {
            ReaderWriterSynchronizedAttribute instance = new ReaderWriterSynchronizedAttribute
            {
                @lock = new ReaderWriterLockWrapper(aspectArgs.Instance)
            };

            return(instance);
        }
コード例 #9
0
 public override object CreateInstance(AdviceArgs adviceArgs)
 {
     this._instance = adviceArgs.Instance as ICommand;
     _commandContract.ContractChanged += (s, e) =>
     {
         OnCanExecuteChanged();
     };
     return(base.CreateInstance(adviceArgs));
 }
コード例 #10
0
        public override object CreateInstance(AdviceArgs adviceArgs)
        {
            NotifyPropertyChangedAttribute clone = (NotifyPropertyChangedAttribute)base.CreateInstance(adviceArgs);

            clone.initialized = false;
            clone.childPropertyChangedProcessor = ChildPropertyChangedProcessor.CreateFromPrototype(this.childPropertyChangedProcessor, adviceArgs.Instance);

            return(clone);
        }
コード例 #11
0
    public object CreateInstance(AdviceArgs adviceArgs)
    {
        if (adviceArgs.Instance.GetType() == cuckooType)
        {
            return(new MyClassSwapperAttribute());
        }

        return(this.MemberwiseClone());
    }
コード例 #12
0
        public override object CreateInstance(AdviceArgs adviceArgs)
        {
            TrackedObjectAttributeBase aspect = (TrackedObjectAttributeBase)base.CreateInstance(adviceArgs);

            aspect.SetTracker(new AggregateTracker(adviceArgs.Instance));

            //TODO: Tracking should be disabled by default for object tracking and enabled for HistoryTracker

            return(aspect);
        }
コード例 #13
0
 public object CreateInstance(AdviceArgs adviceArgs)
 {
     var clone = MemberwiseClone() as NotifyPropertyChangedAspect;
     adviceArgs.Instance.AddHandler(EventName, arr =>
                                               {
                                                   clone.Handler_PropertyChanged(arr[0], (PropertyChangedEventArgs) arr[1]);
                                                   return null;
                                               });
     return clone;
 }
コード例 #14
0
 public object CreateInstance(AdviceArgs adviceArgs)
 {
     if (StaticScoped)
     {
         return(this);
     }
     else
     {
         return(this.MemberwiseClone());
     }
 }
        public override object CreateInstance(AdviceArgs adviceArgs)
        {
            ImplicitOperationManagementAttribute aspect = (ImplicitOperationManagementAttribute)base.CreateInstance(adviceArgs);

            var newTracker = new AggregateTracker(adviceArgs.Instance, this.EnableTrackingOnTrackerCreation);

            aspect.SetTracker(newTracker);

            aspect.MethodAttributes = GetMethodsAttributes(adviceArgs.Instance.GetType());

            return(aspect);
        }
コード例 #16
0
    public object CreateInstance(AdviceArgs adviceArgs)
    {
        LogMethodAttribute clone = (LogMethodAttribute)this.MemberwiseClone();
        Type type = adviceArgs.Instance.GetType();

        if (type.IsGenericType)
        {
            Type[] genericArguments = type.GetGenericArguments();
            // Filter out targets where T is string.
            if (genericArguments[0] == typeof(string))
            {
                clone.disabled = true;
            }
        }
        return(clone);
    }
コード例 #17
0
 public override object CreateInstance(AdviceArgs adviceArgs)
 {
     EditableObjectAttribute aspect = (EditableObjectAttribute)base.CreateInstance(adviceArgs);
     aspect.privateTracker = new AggregateTracker(adviceArgs.Instance, true);
     aspect.implicitOperationStack = new Stack<IDisposable>();
     return aspect;
 }
コード例 #18
0
ファイル: Class1.cs プロジェクト: muffadalis/Stash
        /*readonly static Func<Type, ApplyAutoValidationAttribute> Applies = AttributeSupport<ApplyAutoValidationAttribute>.All.Get;
         *
         * readonly Func<object, IAspect> factory;
         * protected AutoValidationAspectBase( Func<object, IAspect> factory )
         * {
         *      this.factory = factory;
         * }*/

        public object CreateInstance(AdviceArgs adviceArgs) => /*Applies( adviceArgs.Instance.GetType() ) != null ? factory( adviceArgs.Instance ) :*/ new AutoValidationValidationAspect();
コード例 #19
0
 public object CreateInstance( AdviceArgs adviceArgs )
 {
     return new DispatcherObjectAspect();
 }
コード例 #20
0
 /// <inheritdoc/>
 public override object CreateInstance(AdviceArgs adviceArgs)
 {
     return(new SmartNotifyPropertyChangedAttribute(adviceArgs.Instance, PropertyName));
 }
コード例 #21
0
 public override object CreateInstance( AdviceArgs aspectArgs )
 {
     return new ThrowWhenDisposedAttribute {parentObject = aspectArgs.Instance};
 }
コード例 #22
0
 public object CreateInstance(AdviceArgs adviceArgs)
 {
     return(new MockAspectImpl <T>());
 }
コード例 #23
0
 object IInstanceScopedAspect.CreateInstance(AdviceArgs adviceArgs)
 {
     return new ThreadAffinedAspect(Thread.CurrentThread, this.checkFieldAccess);
 }
コード例 #24
0
 public override object CreateInstance(AdviceArgs aspectArgs)
 {
     return new UpdateEntityAttribute {parent = (Entity) aspectArgs.Instance};
 }
コード例 #25
0
 object IInstanceScopedAspect.CreateInstance(AdviceArgs adviceArgs)
 {
     return(new ThreadAffinedAspect(Thread.CurrentThread, this.checkFieldAccess));
 }
コード例 #26
0
ファイル: WeakObject.cs プロジェクト: jogibear9988/ormbattle
 public override object CreateInstance(AdviceArgs aspectArgs)
 {
     object o = base.CreateInstance(aspectArgs);
     GC.SuppressFinalize(o);
     return o;
 }
コード例 #27
0
 // Вызывается в момент выполнения
 public override object CreateImplementationObject(AdviceArgs args)
 => Activator.CreateInstance(_implementationType);
コード例 #28
0
 /// <summary>
 /// Creates the composed object.
 /// </summary>
 /// <param name="eventArgs">Event arguments.</param>
 /// <returns>A new instance of the type specified in the <see cref="ImplementationType"/> property.</returns>
 public override object CreateImplementationObject( AdviceArgs eventArgs )
 {
     return
         Activator.CreateInstance(
             GenericArg.Map( this.ImplementationType, eventArgs.Instance.GetType().GetGenericArguments(), null ) );
 }
コード例 #29
0
        public override object CreateInstance(AdviceArgs adviceArgs)
        {
            TrackedObjectAttributeBase aspect = (TrackedObjectAttributeBase)base.CreateInstance(adviceArgs);

            aspect.SetTracker(new AggregateTracker(adviceArgs.Instance));

            //TODO: Tracking should be disabled by default for object tracking and enabled for HistoryTracker

            return aspect;
        }
コード例 #30
0
 public object CreateInstance(AdviceArgs adviceArgs)
 {
     return(new MyValidationAspect(this.otherPropertyName));
 }
コード例 #31
0
        public override object CreateInstance( AdviceArgs adviceArgs )
        {
            NotifyPropertyChangedAttribute clone = (NotifyPropertyChangedAttribute)base.CreateInstance( adviceArgs );
            clone.initialized = false;
            clone.childPropertyChangedProcessor = ChildPropertyChangedProcessor.CreateFromPrototype( this.childPropertyChangedProcessor, adviceArgs.Instance );

            return clone;
        }
コード例 #32
0
 public object CreateInstance(AdviceArgs adviceArgs)
 {
     return(new DuplicateSingle(this.sourceMethod));
 }
コード例 #33
0
 public override object CreateInstance(AdviceArgs aspectArgs)
 {
     return(new UpdateEntityAttribute {
         parent = (Entity)aspectArgs.Instance
     });
 }
コード例 #34
0
 /// <summary>
 ///    Creates an instance of the aspect for a specific instance of the <see cref="Control" /> or <see cref="Page" />.
 /// </summary>
 object IInstanceScopedAspect.CreateInstance(AdviceArgs adviceArgs) => MemberwiseClone();
コード例 #35
0
 public object CreateInstance(AdviceArgs adviceArgs)
 {
     _instance = adviceArgs.Instance;
     return MemberwiseClone();
 }
コード例 #36
0
        private IStaticProxyLazyInitializer GetProxy(AdviceArgs args)
        {
            var proxy = args.Instance as INHibernateProxy;

            if (proxy == null)
                return null;

            var initializer = proxy.HibernateLazyInitializer;

            if (initializer == null)
                return null;

            return ((IStaticProxyLazyInitializer)initializer);
        }
コード例 #37
0
		public override object CreateInstance( AdviceArgs adviceArgs ) => InstanceAspects.Default.Get( adviceArgs.Instance );
コード例 #38
0
 public object CreateInstance(AdviceArgs adviceArgs)
 {
     return(new DispatcherObjectAspect());
 }
コード例 #39
0
 public object CreateInstance( AdviceArgs adviceArgs )
 {
     return new NullToEmptyStringAttribute();
 }
コード例 #40
0
 /// <inheritdoc/>
 public override object CreateInstance(AdviceArgs adviceArgs)
 {
     return(new SmartNotifyPropertyChangedVariableAttribute());
 }
コード例 #41
0
 public object CreateInstance(AdviceArgs adviceArgs)
 {
     return(new ReactiveCacheAttribute());
 }
コード例 #42
0
 public object CreateInstance(AdviceArgs adviceArgs)
 {
     return(MemberwiseClone());
 }
コード例 #43
0
 /// <summary>
 /// Creates the composed object.
 /// </summary>
 /// <param name="eventArgs">Event arguments.</param>
 /// <returns>A new instance of the type specified in the <see cref="ImplementationType"/> property.</returns>
 public override object CreateImplementationObject(AdviceArgs eventArgs)
 {
     return
         (Activator.CreateInstance(
              GenericArg.Map(this.ImplementationType, eventArgs.Instance.GetType().GetGenericArguments(), null)));
 }
コード例 #44
0
 public object CreateInstance(AdviceArgs adviceArgs)
 {
     return this.MemberwiseClone();
 }
コード例 #45
0
 public object CreateInstance(AdviceArgs adviceArgs)
 {
     throw new NotImplementedException();
 }
コード例 #46
0
 /// <summary>
 ///   Creates an instance of the aspect for a specific instance of the <see cref="Control" /> or <see cref="Page" />.
 /// </summary>
 object IInstanceScopedAspect.CreateInstance(AdviceArgs adviceArgs)
 {
     return(MemberwiseClone());
 }
コード例 #47
0
 public override object CreateInstance( AdviceArgs aspectArgs )
 {
     ReaderWriterSynchronizedAttribute instance = new ReaderWriterSynchronizedAttribute();
     return instance;
 }