【对象初始化的完整过程(C#)】教程文章相关的互联网学习教程文章

c# – 注入构造函数的依赖项的延迟初始化【代码】

我有一个类,我注入两个服务依赖项.我正在使用Unity容器.public interface IOrganizer {void Method1();void Method2();void Method3(); }public class Organizer : IOrganizer { private IService1 _service1;private IService2 _service2;public Organizer(Iservice1 service1, IService2 service2){_service1 = service1;_service2 = service2;}public void Method1(){/*makes use of _service1 and _service2 both to serve ...

c# – Visual Studio Designer不断尝试初始化我的Collection属性【代码】

我创建了一个名为CatalogBrowser的UserControl,它有一个属性ListedFamilies,它公开控件中当前列出的Family对象.这是该物业的代码.public List<Family> ListedFamilies {get {List<Family> returnList = new List<Family>();foreach (Object obj in this.familyObjectListView.Objects) {returnList.Add((Family)obj);}return returnList;}set {this.familyObjectListView.ClearObjects();this.familyObjectListView.Objects = valu...

c# – 在初始化之前或之后将新项目添加到列表中?【代码】

你喜欢哪个?var foo = new Foo();foo.Prop1 = "1"; foo.Prop2 = "2"; // etc...this.Foos.Add(foo);要么var foo = new Foo(); this.Foos.Add(foo);foo.Prop1 = "1"; foo.Prop2 = "2"; // etc...解决方法:其中大多数是个人偏好与具体原因,但我首先更喜欢,因为我觉得这是更直接的方法.它遵循我对这个问题的思考方式.它似乎只是向后添加到列表然后初始化值. 我首选的一个具体原因是它对代码中的更改更具弹性.例如,如果后来Foo从一个类...

c# – 如何为Matrix类实现干净的自定义对象初始化程序【代码】

我有一个自定义Matrix类,我想实现一个自定义对象初始化器,类似于double [,]可以使用但似乎无法弄清楚如何实现它. 理想情况下,我希望看起来像这样var m1 = new Matrix{{ 1.0, 3.0, 5.0 },{ 7.0, 1.0, 5.0 }};截至目前,我有一个带有签名的常规构造函数public Matrix(double[,] inputArray){...}接受这样的电话var m1 = new Matrix(new double[,]{{ 1.0, 3.0, 5.0 },{ 7.0, 1.0, 5.0 }});和一个对象初始化器,通过继承IEnumerable< dou...

c# – 使用ninject创建后初始化对象【代码】

我是Ninject的新手(和DI一般). 我理解内核如何加载模块,到目前为止我编写的代码往往只有一行:myKernel.Get<MyApp>()它从我的模块中的绑定构造我需要的一切.如果在初始化之后需要新实例,那么这些由我绑定初始化的工厂负责.到目前为止,工厂已经没有任何ninject依赖项,只需按需创建对象. 现在我已经达到了一个点,我需要考虑初始化后的对象创建,我自己的工厂模式不再削减它.这将是为(远程)客户端支持pub / sub接口.对于我的服务器的每...

c# – 列表属性的初始化语法【代码】

在使用List作为属性初始化类时,我目睹了一些奇怪的事情.这样做的时候var stuff = new Stuff(){list = {1, 2, 3} };它编译,崩溃说列表为空.所以,将它添加到Stuff的构造函数中:public Stuff(){list = new List<int>(); }列表现在被初始化为包含{1,2,3},这似乎是有道理的.但是,然后将构造函数更改为public Stuff(){list = new List<int>(){1, 2, 3}; }并初始化如此var stuff = new Stuff(){list = {4, 5, 6} };列表初始化为包含{1,2,...

c# – 在UWP应用程序中合并ResourceDictionary初始化【代码】

在我的UWP应用程序的开发过程中,我注意到并且有些奇怪,我很难解释. 我用户MvvmLight,我决定将ViewModelLocator资源实例添加到单独的ResourceDictionary Core.xaml中,该文件将从App.xaml中的MergedDictionaries引用.以下是App.xaml的内容:<Application ...> <Application.Resources><ResourceDictionary><ResourceDictionary.MergedDictionaries><ResourceDictionary Source="Resources/Core.xaml" /><ResourceDictionary Source="...

c#-使用“块”进行SqlCommand初始化的好处【代码】

我了解从您的应用程序与sql server建立连接时使用using块的概念,因为一旦超出范围,它将立即关闭连接,并节省了我们编写try catch catch块的时间. 但是我的问题是,通常在初始化SqlCommand时使用使用有什么好处吗?string cs = ConfigurationManager.ConnectionStrings["CS1"].ConnectionString;using(SqlConnection con = new SqlConnection(cs)) {SqlCommand cmd = new SqlCommand("SELECT * FROM dbo.City", con);con.Open();DropD...

c# – 无法使用自定义数据库初始化程序【代码】

我正在构建一个简单的MVC应用程序来管理库.出于开发目的,我希望每次模型更改时EF都会删除并重新创建数据库,并填充一些示例数据.在这一刻,我努力让初始化器工作. Initializer类如下所示:public class LibraryInitializer : DropCreateDatabaseIfModelChanges<LibraryContext> {protected override void Seed(LibraryContext context){// sample data to be writted to the DB} }上下文类看起来像这样:public class LibraryContext...

C#SQL查询 – ExecuteNonQuery:尚未初始化Connection属性【代码】

我的Windows应用程序中有许多代码块,它们使用相同的结构来执行查询.在我的代码中添加一些新内容后,由于错误,这些内容不再有效:“ExecuteNonQuery: Connection property has not been initialized”代码块看起来像这样:sc.Open(); cmd = new SqlCommand("UPDATE bin SET serialNumber=" + tb_computername.Text + " WHERE binNumber=" + binNumber); cmd.ExecuteNonQuery(); sc.Close(); break;新代码执行此操作://Find Open BIN...

c# – 具有多个上下文的EF初始化程序,用于一个数据库【代码】

我有一个SQL数据库的现有应用程序,该数据库已使用数据库第一模型进行编码(每次我更改架构时都会创建一个EDMX文件). 已经完成了一些额外的开发(支持原始应用程序的Windows服务),它使用EF POCO / DbContext作为数据层而不是EF EDMX文件.在DbContexts中没有配置初始化程序设置,但它们从未修改数据库,因为DbSet对象始终与表匹配. 现在,我编写了一个单独的应用程序,它使用现有的数据库,但只使用自己的新表,它使用EFs初始化程序自行创建....

c#-在Windows Phone 8.1中初始化XLabs【代码】

我刚刚在Xamarin应用程序项目中添加了Windows Phone 8.1项目,但是现在我不知道如何在其中初始化XLabs,因为它找不到XFormsAppWP,因此我无法按照XLabs’s website.的指南进行操作.我正在使用XLabs 2.0.5783-pre01.有人可以帮我吗?解决方法:在安装Xlabs时,必须在您拥有的每个项目中安装nuget.我现在已经在WP8.1项目中使用Xamarin.Forms 2.2.0.31和XLabs.Forms 2.2.0-pre02进行了测试. 在您的App.xaml.cs中放置以下内容:var app = ne...

c# – 反复初始化Clearscript V8引擎时出现内存不足(GC问题?)【代码】

我创建了一个基本的默认ASP.NET 5项目.我有一个创建的控制器var engine = new V8ScriptEngine();并返回一些模拟json.当我刷新页面一定次数时,我得到了Fatal error in heap setup Allocation failed – process out of memory并跟踪堆栈跟踪Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Reflection.TargetInvocationException: Exce...