C# 为什么所有对象都在intellisense中列出Rhino存根方法?
我注意到,有点令人恼火的是,每个对象(不仅仅是存根对象)都列出了所有常见的Rhino方法,如VisualStudio中调用的AssertNever。这使得浏览属性/方法更加困难C# 为什么所有对象都在intellisense中列出Rhino存根方法?,c#,visual-studio,unit-testing,intellisense,rhino-mocks,C#,Visual Studio,Unit Testing,Intellisense,Rhino Mocks,我注意到,有点令人恼火的是,每个对象(不仅仅是存根对象)都列出了所有常见的Rhino方法,如VisualStudio中调用的AssertNever。这使得浏览属性/方法更加困难 这是Visual Studio的一个bug(例如损坏的Intellisense DB)还是Rhino Mocks的一个“功能”?要回答您的问题,我需要将我的答案分为arrange方法和asserts方法 在引用类型实例上面对这些扩展方法的原因是VS IntelliSense无论如何都不支持筛选这些方法: public
这是Visual Studio的一个bug(例如损坏的Intellisense DB)还是Rhino Mocks的一个“功能”?要回答您的问题,我需要将我的答案分为arrange方法和asserts方法 在引用类型实例上面对这些扩展方法的原因是VS IntelliSense无论如何都不支持筛选这些方法:
public static IMethodOptions<object> Stub<T>(this T mock, Action<T> action) where T : class
正如您在上面的签名中所看到的,T
没有约束,这就是您所面临的不一致行为(bug…)的根源
asserts方法的引用类型约束应与arrange方法完全相同。这是否意味着这与我在这里提出问题的原因相同:?如果是这样,也许你可以链接你的答案或复制粘贴或其他什么,那么我可以接受两者
public static void AssertWasCalled<T>(this T mock, Action<T> action)