private object InstantiateProxy(CompositeType compositeType, Type proxyType, MockFactory mockFactory, MockStyle mockStyle, string name, object[] constructorArgs) { IInterceptor interceptor = new MockObjectInterceptor(mockFactory, compositeType, name, mockStyle); object[] activationArgs; /* ^ */ var _typeInfo = compositeType.PrimaryType.GetTypeInfo(); /* [email protected] ^ */ if (/* ^ */ _typeInfo.IsClass /* [email protected] ^ */) { activationArgs = new object[constructorArgs.Length + 1]; constructorArgs.CopyTo(activationArgs, 1); activationArgs[0] = new[] { interceptor }; } else { activationArgs = new[] { new[] { interceptor }, new object(), name }; } return Activator.CreateInstance(proxyType, activationArgs); }
public override object CreateMock(MockFactory mockFactory, CompositeType typesToMock, string name, MockStyle mockStyle, object[] constructorArgs) { if (typesToMock == null) { throw new ArgumentNullException("typesToMock"); } Type primaryType = typesToMock.PrimaryType; Type[] additionalInterfaces = BuildAdditionalTypeArrayForProxyType(typesToMock); IInterceptor mockInterceptor = new MockObjectInterceptor(mockFactory, typesToMock, name, mockStyle); object result; /* ^ */ var _typeInfo = primaryType.GetTypeInfo(); /* [email protected] ^ */ if (/* ^ */ _typeInfo.IsInterface /* [email protected] ^ */) { result = generator.CreateInterfaceProxyWithoutTarget(primaryType, additionalInterfaces, new ProxyGenerationOptions { BaseTypeForInterfaceProxy = typeof(InterfaceMockBase) }, mockInterceptor); ((InterfaceMockBase)result).Name = name; } else { result = generator.CreateClassProxy(primaryType, additionalInterfaces, ProxyGenerationOptions.Default, constructorArgs, mockInterceptor); //return generator.CreateClassProxy(primaryType, new []{typeof(IMockObject)}, mockInterceptor); } return(result); }
public override object CreateMock(MockFactory mockFactory, CompositeType typesToMock, string name, MockStyle mockStyle, object[] constructorArgs) { if (typesToMock == null) throw new ArgumentNullException("typesToMock"); Type primaryType = typesToMock.PrimaryType; Type[] additionalInterfaces = BuildAdditionalTypeArrayForProxyType(typesToMock); IInterceptor mockInterceptor = new MockObjectInterceptor(mockFactory, typesToMock, name, mockStyle); object result; /* ^ */ var _typeInfo = primaryType.GetTypeInfo(); /* [email protected] ^ */ if (/* ^ */ _typeInfo.IsInterface /* [email protected] ^ */) { result = generator.CreateInterfaceProxyWithoutTarget(primaryType, additionalInterfaces, new ProxyGenerationOptions {BaseTypeForInterfaceProxy = typeof (InterfaceMockBase)}, mockInterceptor); ((InterfaceMockBase) result).Name = name; } else { result = generator.CreateClassProxy(primaryType, additionalInterfaces, ProxyGenerationOptions.Default, constructorArgs, mockInterceptor); //return generator.CreateClassProxy(primaryType, new []{typeof(IMockObject)}, mockInterceptor); } return result; }
private object InstantiateProxy(CompositeType compositeType, Type proxyType, MockFactory mockFactory, MockStyle mockStyle, string name, object[] constructorArgs) { IInterceptor interceptor = new MockObjectInterceptor(mockFactory, compositeType, name, mockStyle); object[] activationArgs; if (compositeType.PrimaryType.IsClass) { activationArgs = new object[constructorArgs.Length + 1]; constructorArgs.CopyTo(activationArgs, 1); activationArgs[0] = new[] { interceptor }; } else { activationArgs = new[] { new[] { interceptor }, new object(), name }; } return(Activator.CreateInstance(proxyType, activationArgs)); }
private object InstantiateProxy(CompositeType compositeType, Type proxyType, MockFactory mockFactory, MockStyle mockStyle, string name, object[] constructorArgs) { IInterceptor interceptor = new MockObjectInterceptor(mockFactory, compositeType, name, mockStyle); object[] activationArgs; /* ^ */ var _typeInfo = compositeType.PrimaryType.GetTypeInfo(); /* [email protected] ^ */ if (/* ^ */ _typeInfo.IsClass /* [email protected] ^ */) { activationArgs = new object[constructorArgs.Length + 1]; constructorArgs.CopyTo(activationArgs, 1); activationArgs[0] = new[] { interceptor }; } else { activationArgs = new[] { new[] { interceptor }, new object(), name }; } return(Activator.CreateInstance(proxyType, activationArgs)); }