/// <inheritdoc /> public override object CreateMock(Type type) { var closedType = MockOpenType.MakeGenericType(new[] { type }); var objectProperty = closedType.GetPropertyInfo("Object", type); var instance = closedType.Create(); return(objectProperty.GetValue(instance, null)); }
/// <inheritdoc /> public override object CreateMock(Type type) { var openFakeMethod = MockOpenType.GetMethodInfo("Fake", Type.EmptyTypes); var closedFakeMethod = openFakeMethod.MakeGenericMethod(type); try { return(closedFakeMethod.Invoke(null, null)); } catch { return(null); } }
/// <inheritdoc /> public override object CreateMock(Type type) { var methods = MockOpenType.GetMethods(); foreach (var method in methods) { if (IsGenericForMethod(method)) { var closedGenericForMethod = method.MakeGenericMethod(type); return(closedGenericForMethod.Invoke(null, new object[1] { null })); } } return(null); }