AOP01.Core.SmObjectFactory.getProxy C# (CSharp) Method

getProxy() private static method

private static getProxy ( BaseViewModel vm ) : BaseViewModel
vm BaseViewModel
return BaseViewModel
        private static BaseViewModel getProxy(BaseViewModel vm)
        {
            var constructorArgs = vm.GetType()
                                    .GetConstructors()
                                    .First()
                                    .GetParameters()
                                    .Select(p => Container.GetInstance(p.ParameterType))
                                    .ToArray();

            return (BaseViewModel)_dynamicProxy.CreateClassProxy(
                                                    classToProxy: vm.GetType(),
                                                    constructorArguments: constructorArgs,
                                                    interceptors: new IInterceptor[] { new NotifyPropertyInterceptor() });
        }