草庐IT

依赖树

全部标签

c# - 摆脱单元测试对 StreamReader/FileStream 的依赖的好方法是什么?

场景如下:我有一个方法可以通过.NET中的FileStream和StreamReader读取文件。我想对这个方法进行单元测试,并以某种方式删除对StreamReader对象的依赖。理想情况下,我希望能够提供我自己的测试数据字符串,而不是使用真实文件。现在,该方法始终使用StreamReader.ReadLine方法。修改我现在的设计以使该测试成为可能的方法是什么? 最佳答案 取而代之的是Stream和TextReader。然后您的单元测试可以使用MemoryStream和StringReader。(或者如有必要,从测试程序集中加载资

c# - 依赖注入(inject)和 AppSettings

假设我正在为我的应用程序定义一个浏览器实现类:classInternetExplorerBrowser:IBrowser{privatereadonlystringexecutablePath=@"C:\ProgramFiles\...\...\ie.exe";...codethatusesexecutablePath}乍一看这似乎是个好主意,因为executablePath数据靠近将使用它的代码。当我尝试在另一台具有外语操作系统的计算机上运行相同的应用程序时,问题就来了:executablePath将具有不同的值。我可以通过AppSettings单例类(或其等效类之一)解决此问题,但

c# - 如何使用 Ioc Unity 注入(inject)依赖属性

我有以下类(class):publicinterfaceIServiceA{stringMethodA1();}publicinterfaceIServiceB{stringMethodB1();}publicclassServiceA:IServiceA{publicIServiceBserviceB;publicstringMethodA1(){return"MethodA1()"+serviceB.MethodB1();}}publicclassServiceB:IServiceB{publicstringMethodB1(){return"MethodB1()";}}我将Uni

c# - 使用 Ninject 的 .NET MVC 依赖注入(inject)

我刚刚开始使用.NET进行编程,但在实现依赖注入(inject)(使用Ninject)时遇到了一些问题。我正在创建某种餐饮应用程序,用户可以在其中浏览城镇,在城镇中浏览餐馆,在餐馆中浏览食物。我正在使用UnitOfWork和存储库模式,例如我通过id访问城镇:_unitOfWork.TownRepository.GetByID(id);现在我开始将服务实现到应用程序中,并且遇到了依赖注入(inject)的需求。我已经创建了ITownService、IRestaurantService和IFoodService(因为我已经创建了TownRepository、RestaurantRepos

c# - 命令评估依赖属性绑定(bind)?

是什么决定了同一控件上多个DepdencyProperties的求值顺序?我正在使用ExtendedWPFToolkitPropertyGrid并同时绑定(bind)SelectedObject和PropertyDefinitions:问题是OnSelectedObjectChanged从依赖属性触发,并且在那个更改的处理程序中它引用PropertyDefinitions,它被视为null。如果我注释掉OnSelectedObjectChanged处理程序,那么我可以在调试时看到在调用OnSelectedObjectChanged之后调用了OnPropertyDefinitionsCh

c# - 依赖注入(inject)和开发生产力

摘要在过去的几个月里,我一直在使用API抽象和实体/组件/脚本系统编写一个基于C#的轻量级游戏引擎。它的整个想法是通过提供类似于Unity引擎的架构来简化XNA、SlimDX等中的游戏开发过程。设计挑战大多数游戏开发人员都知道,您需要在整个代码中访问许多不同的服务。许多开发人员求助于使用全局静态实例,例如渲染管理器(或Composer)、场景、图形设备(DX)、记录器、输入状态、视口(viewport)、窗口等。全局静态实例/单例有一些替代方法。一种是通过构造函数或构造函数/属性依赖注入(inject)(DI)为每个类提供它需要访问的类的实例,另一种是使用全局服务定位器,例如Struc

c# - 如何向现有的依赖属性回调添加逻辑?

我正在尝试将PropertyChangedCallback添加到UIElement.RenderTransformOriginProperty。当我尝试覆盖PropertyMetadata时抛出异常。我已经搜索了MSDN和Google,我所能想到的是this.DependencyPropertyDescriptor.AddValueChanged在那篇文章的某个时候被建议,但这不会解决我的问题,因为这不是每个实例的回调。我完全不明白这个异常是什么意思。有谁知道我做错了什么?publicclassfoo:FrameworkElement{privatestaticvoidOrigin_C

c# - ninject 的循环依赖

我正在尝试找出如何使用ninject绑定(bind)这样的东西的正确方法。interfaceIMainService{voidDoStuff();}interfaceIOtherService{voidDoSomeMagic();}abstractclassBaseClass{//manystuffhere}classMainClass:BaseClass,IMainService{publicMainClass(IOtherServices){}publicvoidDoStuff(){thrownewNotImplementedException();}//domanyotherth

c# - MVC 6 IUrlHelper 依赖注入(inject)

我想通过依赖项注入(inject)使用IUrlHelper,以便能够使用其功能为不同的rest端点生成uris。我似乎无法弄清楚如何从头开始创建UrlHelper,因为它在MVC6中发生了变化,并且MVC不会自动在IoCController中提供该服务。设置是我的Controller采用内部模型到api模型转换器类,并使用IUrlHelper(全部通过依赖注入(inject))。如果IUrlHelper/UrlHelper有更好的替代方案,我可以用来为我的WebApi操作/Controller生成Uris,我愿意接受建议。 最佳答案

c# - 获取依赖属性内的 'this' 指针更改回调

我在一个类中有以下依赖属性:classFooHolder{publicstaticDependencyPropertyCurrentFooProperty=DependencyProperty.Register("CurrentFoo",typeof(Foo),typeof(FooHandler),newPropertyMetadata(OnCurrentFooChanged));privatestaticvoidOnCurrentFooChanged(DependencyObjectd,DependencyPropertyChangedEventArgse){FooHolderhol