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() }); }