C# 基于类型对象的模拟接口

C# 基于类型对象的模拟接口,c#,mocking,C#,Mocking,我想模拟一些基于类型对象的接口。我需要通过反射调用构造函数。看起来是这样的: var type = typeof (T); var constructors = type.GetConstructors(); var constructor = constructors.First(); var parameters = constructor.GetParameters(); var objects = new o

我想模拟一些基于类型对象的接口。我需要通过反射调用构造函数。看起来是这样的:

        var type = typeof (T);
        var constructors = type.GetConstructors();
        var constructor = constructors.First();
        var parameters = constructor.GetParameters();
        var objects = new object[parameters.Count()];
        //TODO create mock parameters and add to aobject array
        constructor.Invoke(objects);
public static object DynamicMock(Type type)
{
   var mock = typeof(Mock<>).MakeGenericType(type).GetConstructor(Type.EmptyTypes).Invoke(new object[] { });
   return mock.GetType().GetProperties().Single(f => f.Name == "Object" && f.PropertyType == type).GetValue(mock, new object[] {});
}

有可能做到那样的事吗?是否有任何模拟框架对此提供了功能性?或者可以使用BCL?

bump部分正确,但我想得到的是一个通过反射的模拟cretated,解决方案如下:

        var type = typeof (T);
        var constructors = type.GetConstructors();
        var constructor = constructors.First();
        var parameters = constructor.GetParameters();
        var objects = new object[parameters.Count()];
        //TODO create mock parameters and add to aobject array
        constructor.Invoke(objects);
public static object DynamicMock(Type type)
{
   var mock = typeof(Mock<>).MakeGenericType(type).GetConstructor(Type.EmptyTypes).Invoke(new object[] { });
   return mock.GetType().GetProperties().Single(f => f.Name == "Object" && f.PropertyType == type).GetValue(mock, new object[] {});
}
公共静态对象动态锁(类型)
{
var mock=typeof(mock).MakeGenericType(type).GetConstructor(type.EmptyTypes).Invoke(新对象[]{});
返回mock.GetType().GetProperties();
}