使用Rhino模拟流畅的API

时间:2015-08-10 19:45:34

标签: c# rhino-mocks fluent-interface

我找不到任何模拟流畅API的所有方法的好方法。 我现在遇到的最好方法是:

var builder = BindToSelf<IFluentBuilder>(
                x => x.WithA(),
                x => x.WithB("qwe"));

有没有办法做这样的事情?

var builder = BindToSelf<IFluentBuilder>(x => x.WithA().WithB("qwe"));

或使用这样的反射:

var builder = BindAllToSelf<IFluentBuilder>());

像这样的东西(这个例子不起作用):

public static T ToSelfAll<T>(this T builder) where T : class
{
    foreach (MethodInfo item in typeof(T).GetMethods())
    {
        Func<T> action = (Func<T>)Delegate.CreateDelegate(typeof(Func<T>), 
                                                          builder,
                                                          item.Name);
        builder.Expect(action).Return(builder);
    }
    return builder;
}

我正在使用Rhino Mocks。 你用什么方法来模仿流畅的api?

0 个答案:

没有答案