问题标签 [object-initializers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 嵌套对象初始化器语法
Resharper 刚刚向我建议了以下重构:
我以前从未见过这种对象初始化。特别是我不明白如何
有任何意义 - 它没有分配任何东西给InitializedProperty
.
这种行为是否在任何地方指定?
c# - 我可以在对象构造之外使用对象初始化器吗?
给定对象初始化器:
它们可以以某种方式在其他地方使用吗?(在对象构造之外)因此使用:
只使用类似的东西:
鉴于这是在 foo 的类层次结构之外。那是为了避免多次使用一个对象的成员的地方。
例如,在 VB/GML(GameMaker 的脚本语言)中,可以使用:
而不是 foo.something
那么C#中有这样的东西吗?
c# - C#中的构造函数与对象初始值设定项优先级
我最近一直在学习 C# 中的对象初始化程序,但现在我想知道它与构造函数冲突时它是如何工作的。
当我尝试这个时会发生什么?
构造函数中的默认值是让一个bool
开始为真并且可以更改的好方法吗?
asp.net - 无法将类型“字符串”隐式转换为“System.Collections.Generic.ICollection”'
我使用 ado.net 实体框架连接数据库并在项目中有一个 .edmx 文件。当我尝试使用对象初始化程序在代码端访问对象时,我可以看到对象名称,但是当我尝试在 throws 中将值输入 textarea 时这个错误。标题是数据库中的一个表,条目是另一个表数据,但由于两个表都有关系,我可以看到标题的条目。我需要做什么?我什么都不懂..感谢您的帮助,这是情况
asp.net - 无法通过引用转换、装箱转换将类型“System.Web.UI.WebControls.ListItem”转换为“WebApplication.Title”,
这是情况。
- 有两个列表框(lb1-lb2)。在一个(lb1)中显示的所有数据都取自数据库。
- 当我想点击来自 lb1 的数据时,内容必须显示在其他列表框(lb2)中。
- 它们是在数据库中有关系的两个不同的表。
-我使用了实体框架并使用了对象初始化程序来访问数据对象。
-我已经处理了 selectedIndexChanged 属性以提供动态我已经完成了以下代码
它会引发错误:无法通过引用转换、装箱转换、拆箱转换、包装转换或空类型转换将类型“System.Web.UI.WebControls.ListItem”转换为“WebApplication2.Title”
我应该怎么办?我错过了什么?感谢您的帮助
c# - 当需要许多参数时,C# 中的对象初始化器与构造器
我正在开发一个框架来从 C# 应用程序访问 EVE Online API。本质上,API 的工作原理是客户端向 EVE Online 服务器发送 GET 请求,然后服务器以 XML 文件的形式发送响应。我的框架会将这些 XML 文件中的信息解析为对象。无法修改来自请求的信息(即无法从客户端应用程序更改服务器数据)。因此,对象本身必须是不可变的。
现在,如果你看这里,你会看到有许多不同的字段总是随每个请求一起发送。例如,如果你要请求一个角色的钱包交易,你会请求
哪个会返回这样的东西
我需要的对象需要每一行中的所有这些字段(transactionDateTime、transactionID、quantity、typeName、typeID、price、clientID、clientName、stationID、stationName、transactionType、transactionFor),所以它看起来像
如您所见,这是一个相当庞大的构造函数,但对象不会被完全初始化,除非它具有从 XML 文件接收到的所有信息。还有很多其他对象是这样的,需要以这种方式表现(不可变,具有许多不同的字段)
所以问题就变成了:既然对象需要是不可变的,并且需要拥有所有这些不同的字段,我是否需要使用构造函数?或者在这种情况下对象初始值设定项会更好,如果他们真的愿意,就让他们调用 setter 方法,因为它不会对服务器产生任何影响?
c# - 使用 ChartArea 类型编译错误/对象初始化程序
我正在使用.NET 4。
对象初始化程序与ChartArea
.
对象初始化器与Chart
类一起使用:
例如:
但它不适用于 ChartArea:
IntelliSense 显示AxisX
,但在实施后显示:
无法解析符号“AxisX”
这里会发生什么?为什么它不起作用?这是我的错还是编译器的错?
谢谢!
ruby-on-rails - 在 Rails 中将初始化方法覆盖到模型中
我正在尝试覆盖初始化方法。见下文
当我运行时,r = Restriction.new(:between)
我得到了异常:
我究竟做错了什么?
顺便说一句,我这样做是因为formula
无法从外部加入属性。
c# - 对象初始化器、非公共子代和嵌套初始化
我浏览了我的代码库,发现了 R# 为我重构的代码行。这是一个有代表性的样本:
本质上,初始化语法允许在不实际执行构造函数调用的情况下设置子对象的公共属性(显然,如果我Target
从 的构造函数中提取构造函数调用A
,则整个初始化会由于空引用而失败。
我已经搜索过这个,但是很难用谷歌的术语来表达。所以,我的问题是:(a)这到底是什么,以及(b)我在哪里可以在 C# 文档中找到更多关于它的信息?
编辑
看起来有人问过这个问题,但没有找到类似的文档: 嵌套对象初始化器语法
c# - 为什么使用对象初始化器可以使对象保持活动状态?
我最近遇到了这篇SO 文章,并针对我的场景进行了调整,如下所示:
运行此程序会产生以下预期结果:
但是改变这个:
为此(使用 Object Initializer 语法):
给出以下输出:
这里发生了什么?为什么引用的生命周期会因为使用 Object Initializer 而不同?