public object CreateProxy(Type serviceType, object?[] arguments) { if (null == serviceType) { throw new ArgumentNullException(nameof(serviceType)); } if (serviceType.IsInterface) { return(AspectCoreHelper.ProxyGenerator.CreateInterfaceProxy(serviceType)); } var ctorArguments = ActivatorHelper.GetBestConstructorArguments(_serviceProvider, serviceType, arguments); return(AspectCoreHelper.ProxyGenerator.CreateClassProxy(serviceType, serviceType, ctorArguments)); }
public object CreateProxy(Type serviceType, object[] arguments) { if (null == serviceType) { throw new ArgumentNullException(nameof(serviceType)); } if (serviceType.IsInterface) { return(CastleHelper.ProxyGenerator.CreateInterfaceProxyWithoutTarget(serviceType, new CastleFluentAspectInterceptor())); } var ctorArguments = ActivatorHelper.GetBestConstructorArguments(_serviceProvider, serviceType, arguments); return(CastleHelper.ProxyGenerator.CreateClassProxy( serviceType, ctorArguments, new CastleFluentAspectInterceptor() )); }
public object CreateProxy(Type serviceType, Type implementType, params object[] arguments) { if (null == serviceType) { throw new ArgumentNullException(nameof(serviceType)); } if (null == implementType) { throw new ArgumentNullException(nameof(implementType)); } if (serviceType.IsInterface) { var implementInstance = _serviceProvider.CreateInstance(implementType); return(AspectCoreHelper.ProxyGenerator.CreateInterfaceProxy(serviceType, implementInstance)); } var ctorArguments = ActivatorHelper.GetBestConstructorArguments(_serviceProvider, implementType, arguments); return(AspectCoreHelper.ProxyGenerator.CreateClassProxy(serviceType, implementType, ctorArguments)); }