object-initializers相关内容

在对象初始化器中分配事件

为什么不能在 C# 的对象初始值设定项中分配事件和属性?这样做似乎很自然. var myObject = new MyClass(){财产=价值,Event1 = 演员,//或者Event2 += 演员}; 或者有什么我不知道的技巧? 解决方案 就外部合约而言,事件没有setter,只有add和remove methods - 订阅者可以从事件中注册和注销,publishing 对象通 ..
发布时间:2022-01-18 11:55:26 C#/.NET

使用对象初始值设定项语法的操作顺序

我使用对象初始值设定项语法设置属性的顺序是否以完全相同的顺序执行? 例如,如果我这样做: var s = new Person { FirstName = "Micah",姓氏 = "马丁",IsLoaded = 真} 每个属性的设置顺序是否相同? 解决方案 是. 很抱歉被打扰(实际上我必须经常做一些工作).规范没有明确说出来,但它在第 7.6.10.2 节中让 IMO 非 ..
发布时间:2021-12-29 19:16:06 C#/.NET

集合类型的初始容量,例如字典、列表

.Net 中的某些集合类型有一个可选的“初始容量"构造函数参数.例如: 字典东西 = 新字典(20);列表任何东西 = 新列表(50); 我似乎无法在 MSDN 上找到这些对象的默认初始容量. 如果我知道我只会在字典中存储 12 个左右的项目,那么将初始容量设置为 20 之类的内容是否有意义? 我的推理是,假设容量像 StringBuilder 一样增长,每次容量增加时都会增加一倍 ..
发布时间:2021-12-24 16:52:52 C#/.NET

在对象初始值设定项中分配事件

为什么不能在 C# 中的对象初始值设定项中分配事件和属性?这样做似乎很自然. var myObject = new MyClass(){属性 = 价值,事件 1 = 演员,//或者事件 2 += 演员}; 或者有什么我不知道的技巧? 解决方案 就外部契约而言,一个事件没有setter,只有add和remove 方法 - 订阅者可以注册和取消注册事件,发布 对象通过“引发"事件来决定何时 ..
发布时间:2021-12-19 22:26:49 C#/.NET

在 Swift 中实现可失败初始化程序的最佳实践

使用以下代码,我尝试定义一个简单的模型类,它是可失败的初始化程序,它以 (json-) 字典作为参数.如果原始 json 中未定义用户名,则初始化程序应返回 nil. 1.为什么代码不能编译?错误消息说: 在从初始化程序返回 nil 之前,必须初始化类实例的所有存储属性. 这没有意义.当我打算返回 nil 时,为什么要初始化这些属性? 2.我的方法是正确的还是有其他想法或通 ..
发布时间:2021-12-02 16:10:41 移动开发

C#对象初始化程序在做什么?

当我使用C#中的新对象初始化程序初始化对象时,我无法使用该类中的属性之一执行进一步的操作,而且我也不知道为什么. 我的示例代码: Person person = new Person {名称="David",年龄="29"}; 在Person类中,x等于0(默认值): Public Person(){int x =年龄;//x保持为0-编辑年龄应为Age.这是一个错字} 但是 ..
发布时间:2021-04-18 19:53:12 C#/.NET

直接通过对象初始化器填充数组

我有这两个类: 类Customer { public string Name; 公共字符串City; 个公共订单[]订单; } 类订单 { public int数量; 公共产品产品; } 然后在 Main 我执行以下操作: 客户cust =新客户 { 名称=“某些名称“, 城市=”某个城市“, 订单= { 新订单{数量= 3,产品= prod ..
发布时间:2020-09-24 22:40:27 C#/.NET

Objective-C多个初始化程序

关于在Objective-C类中创建多个初始化程序,我有一个简单的问题. 基本上,我有一个表示数据库(用户)中的一行的类.我目前有一个初始化程序,该初始化程序根据用户UserID(也是数据库内的主键)来初始化类,当传递UserID时,该类将使他们连接到Web服务以解析结果并返回初始化到相应行的对象在数据库中. 在此数据库中,有许多唯一字段(用户名和电子邮件地址),我也希望能够基于这些值来初始 ..
发布时间:2020-07-02 00:07:18 移动开发

对象初始化器中的属性可以互相引用吗?

在创建动态对象匿名类型的对象(即对象初始化器内部)的过程中,属性是否可以相互引用?我下面的简化示例需要重用Age属性,而无需再次调用GetAgeFromSomewhere().当然,这是行不通的.关于如何做到这一点有什么建议吗? var profile = new { Age = GetAgeFromSomewhere(id), IsLegal = (Age>18) }; 使用动 ..
发布时间:2020-07-02 00:05:30 C#/.NET