public T Apply(InstanceGenerator instanceGenerator) { var result = (T)(_proxyGenerator.CreateClassProxy( typeof(T), _fallbackTypeGenerator.GenerateConstructorParameters(instanceGenerator).ToArray(), new AbstractClassInterceptor(_generation, instanceGenerator.Instance))); _fallbackTypeGenerator.FillFieldsAndPropertiesOf(result, instanceGenerator); return(result); }
public object Apply(InstanceGenerator instanceGenerator, GenerationRequest request, Type type) { var result = _proxyGenerator.CreateClassProxy( type, _fallbackTypeGenerator.GenerateConstructorParameters(instanceGenerator.Instance, request, type).ToArray(), new AbstractClassInterceptor(_generation, instanceGenerator.Instance, request)); _fallbackTypeGenerator.CustomizeCreatedValue(result, instanceGenerator, request, type); return(result); }