草庐IT

property-injection

全部标签

c# - Prop 和完整属性(property)有什么区别?

下面两段代码有区别吗?或者顶部只是底部的缩写形式?publicstringName{get;set;}和privatestring_Name;publicstringName{get{return_Name;}set{_Name=value;}} 最佳答案 唯一的区别(除了您必须在类构造函数中使用“默认名称”进行初始化之外)是_Name将在类本身中可见。存在该类将在内部引用_Name而不是Name的风险,一切都会正常工作,并且在稍后的某个时间点您将向添加一些逻辑不会调用的名称,因为您在类中使用了_Name。例子:privatestr

c# - .net core依赖注入(inject)是否支持Lazy<T>

我正在尝试使用通用Lazy类来实例化一个具有.net核心依赖注入(inject)扩展的昂贵类。我已经注册了IRepo类型,但我不确定Lazy类的注册是什么样的,或者是否支持它。作为解决方法,我使用了这种方法http://mark-dot-net.blogspot.com/2009/08/lazy-loading-of-dependencies-in-unity.html配置:publicvoidConfigureService(IServiceCollectionservices){services.AddTransient();//registerlazy}Controller:pu

c# - 如何公开 Application.Properties.Settings 并保持这种状态

我正在将我的应用程序设置集中到一个位置,我选择使用我的公共(public)库中的设置集合来完成此操作。我已将所有这些设置移动到它们自己的文件中,该文件使用配置源拉入我的app.config中:这让我可以使用VisualStudio的“添加链接”功能,在我的Web和测试应用程序中使用导入的配置文件覆盖默认库设置。现在,我希望能够从我的其他库中访问所有这些很棒的设置值,并且发现我可以通过公开生成的类来简单地做到这一点:文件:Common.Properties.SettingspublicsealedpartialclassSettings:global::System.Configurat

c# - 如何在 Caliburn.Micro 中使用 Conductor 的依赖注入(inject)

我有时使用Caliburn.Micro创建应用程序。使用最简单的BootStrapper,我可以像这样使用IoC容器(SimpleContainer):privateSimpleContainer_container=newSimpleContainer();protectedoverrideobjectGetInstance(TypeserviceType,stringkey){return_container.GetInstance(serviceType,key);}protectedoverrideIEnumerableGetAllInstances(TypeserviceTy

c# - 这是 "Bastard injection anti-pattern"的一个很好的例子吗?

我看到首席开发人员正在编写这样的代码,并且在阅读MarkSeemann的书“.NET中的依赖注入(inject)”时,我想知道特定的"new"是否是“外来的”,因此是“BastardInjection”“??publicclassSessionInitServiceManager{protectedreadonlyICESTraceManager_traceManager;protectedreadonlyILogger_logger;protectedreadonlyIAggregateCalls_aggregator;protectedreadonlyIMultiCoreRepos

c# - Json.NET如何在反序列化过程中进行依赖注入(inject)?

当我有一个没有默认构造函数的类时,即使用依赖注入(inject)来传递其依赖项时,Newtonsoft.Json可以创建这样的对象吗?例如:publicclassSomeFoo{privatereadonlyIFooDependency_dependency;publicSomeFoo(IFooDependencydependency){if(dependency==null)thrownewArgumentNullException("dependency");_dependency=dependency;}publicstringData{get;set;}publicintMor

c# - 需要 "Dependency Properties"的简短而清晰的定义

我试图弄清楚依赖属性到底是什么,但是当我在任何地方寻找定义时,我只找到“如何使用”而不是“它是什么”。想象一下,你在面试时被问及什么是依赖属性。你会怎么回答? 最佳答案 DependencyProperty是一种属性,其值取决于(或可以取决于)其他一些来源(例如动画、数据绑定(bind)、样式或可视化树继承)。常规属性的值存储在它所属的对象中,而您可以认为依赖属性存储在某个数据库中。该数据库基本上由一个字典组成,该字典将(object,property)对映射到它们的值,以及哪些属性依赖于其他属性的映射(例如,当您更改面板的Data

c# - Service Fabric 单元测试和依赖注入(inject)

我无法通过仅调用其构造函数然后测试其方法来测试ReliableService/Actor。vartestService=newSomeService();抛出NullReferenceException。那么我可以用部署的服务做什么..我知道部署的SFReliableServices/Actor不是标准的.NET类,对部署的S/A进行单元测试可能是一个奇怪的想法。无论如何,现在我正在尝试一下。例如。我刚刚部署了一个服务,而不是在测试中我创建了一个代理对象并将项目添加到服务的输入队列中。然后我需要断言输入队列计数=1。如果我刚刚部署了一个服务并且没有其他客户端/服务/参与者使用它的输入队

c# - 如何在 WebBrowser 控件中注入(inject) CSS?

据我所知,有一种方法可以将javascript注入(inject)DOM。下面是使用webbrowser控件注入(inject)javascript的示例代码:HtmlElementhead=webBrowser1.Document.GetElementsByTagName("head")[0];HtmlElementscriptEl=webBrowser1.Document.CreateElement("script");IHTMLScriptElementelement=(IHTMLScriptElement)scriptEl.DomElement;element.text="fu

c# - 在 Startup.cs 之外实现依赖注入(inject)

我想在ASP.NETCORE1中实现依赖注入(inject)。我知道.NetCore中的一切都是关于DI的。例如publicvoidConfigureServices(IServiceCollectionservices){//Addapplicationservices.services.AddTransient();}但是对于拥有超过20个实体和服务的大项目来说,在ConfigureServices中编写所有这些代码行是非常困难和不可读的。我想知道这是否可能在Startup.cs之外实现依赖注入(inject),然后将其添加到服务中。感谢您的回答。 最佳