コード例 #1
0
        /// <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));
        }
コード例 #2
0
        /// <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);
            }
        }
コード例 #3
0
        /// <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);
        }