问题标签 [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.

0 投票
26 回答
184265 浏览

objective-c - 我的 Objective-C 单例应该是什么样的?

我的单例访问器方法通常是以下几种变体:

我能做些什么来改善这一点?

0 投票
5 回答
16464 浏览

c# - 您可以在 .NET 中从 JSON 实例化对象实例吗?

由于 Object Initializers 与 JSON 非常相似,现在 .NET 中有匿名类型。能够获取一个字符串(例如 JSON)并创建一个表示 JSON 字符串的匿名对象会很酷。

使用 Object Initializers 创建匿名类型:

如果您可以传入对象初始化程序代码的字符串表示形式(最好是 JSON 之类的)以使用该数据创建匿名类型的实例,那就太棒了。

我不知道这是否可能,因为 C# 不是动态的,编译器实际上将 Object Initializer 和d Anonymous Type 转换为可以运行的强类型代码。本文对此进行了解释

也许采用 JSON 并使用它创建键/值字典的功能效果最好。

我知道您可以在 .NET 中将对象序列化/反序列化为 JSON,但我正在寻找一种创建本质上松散类型的对象的方法,类似于 JavaScript 的工作方式。

有谁知道在 .NET 中执行此操作的最佳解决方案?

更新:太澄清了我为什么要问这个的上下文......我在考虑 C# 如何在语言级别(可能)更好地支持 JSON,并且我试图考虑今天可以完成的方法,用于概念原因。所以,我想我会把它贴在这里开始讨论。

0 投票
3 回答
19144 浏览

syntax - 对象初始化语法

我刚开始使用 F#,我找不到像 C# 3 那样进行对象初始化的语法。

即给出这个:

如何在 F# 中编写以下内容:

0 投票
2 回答
2865 浏览

compiler-construction - C# Object Initializers 和 v2.0 编译器错误

我在 TeamCity (v4.0) 中设置我的一个项目时遇到问题,特别是在使用对象初始化器时。

该项目正常构建,但似乎 TeamCity 将构建文件转换为它喜欢的东西(一些 MSBuild 突变),并且在为解决方案的一部分编译代码时,它在看到对象初始化程序时会犹豫不决。

具体的错误是:

当我进一步研究时,问题似乎与使用 v2.0 框架目录中的 CSC 将构建文件转换为 TeamCity 格式有关。

是否可以使用带有 .NET 2.0 编译器的对象初始化程序(.NET 3.0 功能)来编译代码(我认为不会,尽管我可能会遗漏一些东西),如果没有,有没有人知道强制它使用的方法3.0 编译器(如果存在)还是 3.5 编译器?

对于那些感兴趣的人,正在执行的 CSC 命令是:

谢谢!

更新:我已经部分(阅读:我对此不满意)通过将构建运行程序从 Nant 更改为命令运行程序来解决问题 - 这只是按预期执行了 Nant 构建文件,没有任何操作,尽管反馈级别是不同的。任何其他建议将不胜感激。

0 投票
5 回答
2509 浏览

c# - 为什么我不能在 ASP.NET 2.0 中使用对象初始化器?

为什么我可以Object Initializers在针对 .NET 2.0 的 Visual Studio 2008 Windows 项目等中使用,但不能在针对 .NET 2.0 的 ASP.NET 项目中使用?

我知道这是 C# 3.0 功能,但不知道 - 为什么这可能在 .NET 2.0 项目中使用。

0 投票
1 回答
3469 浏览

.net - 使用对象初始化器语法的操作顺序

我使用对象初始化器语法设置属性的顺序是否以完全相同的顺序执行?

例如,如果我这样做:

每个属性都会以相同的顺序设置吗?

0 投票
6 回答
547 浏览

c# - 我对 C# 对象初始化器做错了什么?

当我使用 C# 中的新对象初始化程序初始化对象时,我无法使用类中的某个属性来执行进一步的操作,我不知道为什么。

我的示例代码:

在 Person 类中,x 将等于 0(默认):

但是 person.Age 确实等于 29。我确信这是正常的,但我想了解原因。

0 投票
3 回答
3687 浏览

c# - 对象初始化和“命名构造函数习语”

行。所以我有一个值列表,我想做如下的事情:

所以这就是问题所在。我需要上面的示例来使用命名构造函数,例如:

有什么办法可以做到吗?基本上,我需要调用一个静态方法来获取对象实例,并且我想像上面那样初始化它。

编辑:目前我没有一种简单的方法来修改 MyType 的接口,因此添加新的函数调用(虽然可能是“最好的”方法)目前不是很实用。

0 投票
3 回答
171 浏览

c# - C# 3.0 对象初始化 - 是否有对象正在初始化的通知?

我们有几个领域对象需要同时支持只读和读写模式;他们目前有一个bool Locked属性——当Locked尝试更改对象上的属性时会导致InvalidOperationException. 对象的默认状态是锁定。

C# 3 的对象初始化语法引入了一个小问题,因为对象必须在初始化期间解锁(或默认解锁),然后在最后显式锁定。

当使用 C# 3 的对象初始化语法时,是否有一种方法可以接收对象正在初始化或初始化已完成的通知? System.ComponentModel.ISupportInitialize是我最大的希望,但它没有被调用。

0 投票
1 回答
1336 浏览

c# - 将 css 类名传递给 asp.mvc 视图助手

在 ASP.NET MVC 视图助手中,您可以执行类似的操作

这将产生以下 HTML

我的问题是....如果我想设置“类”属性怎么办?

这不会编译,因为“类”是保留字。

有解决办法吗?