问题标签 [automatic-properties]

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 投票
1 回答
1029 浏览

c#-3.0 - 自动属性:在“设置”期间检查/验证

我想我们都同意 C# 3.0 中的自动属性很棒。像这样的东西:

减少到这个:

迷人的!

但是,如果我想在“设置”时使用 ToUpperInvariant() 方法转换名称字符串,我应该怎么做。我是否需要恢复到创建属性的旧 C# 2.0 风格?

还是有更优雅的方式来实现这一点?

0 投票
6 回答
568 浏览

c# - C# 自动属性——设置默认值

为 C# 公共属性设置默认值的最简单/直接的方法是什么?

// 我如何为此设置默认值?

请不要建议我使用私有属性并实现获取/设置公共属性。尽量保持简洁,并且不想争论为什么会更好。谢谢。

0 投票
2 回答
534 浏览

vb.net - 具有不同访问级别的VB.net自动属性设置

在 c# 中,您可以为 get 和 set 自动设置具有不同访问级别的值。. . 例如

是否可以使用 vb.net 中的自动属性来做到这一点,或者您是否被迫进行冗长的属性实现?

例如,我不想一直这样做

0 投票
2 回答
234 浏览

.net - .NET 中自动属性的用途

为什么是这样:

认为比这更好:

我这辈子都搞不定。任何人都可以解释一下吗?

谢谢

0 投票
5 回答
16331 浏览

c# - 为什么 Java 没有像 C# 这样的自动属性?

C# 具有自动属性,可大大简化您的代码:

而 Java 让您编写了这么多代码:

Java没有实现这样的东西有什么特别的原因吗?

0 投票
1 回答
1570 浏览

c# - Resharper 不会自动转换为 Serializable 类中的自动属性 ​​- 我应该这样做吗?

我今天遇到了这个问题,并且能够确定,在进行代码清理时,R# 不会将属性从具有支持字段的属性转换为用 SerializableAttribute 修饰的类中的自动属性,例如

上述代码在自动代码清理期间不会更改。当然,我可以手动执行此操作,并且我仍然可以从 R# 中获得快速操作菜单选项来在单个属性级别执行此操作。但这让我想知道在类中使用自动属性时是否存在我不知道的潜在问题[Serializable]

JetBrains 论坛主题中,我们提到了一个问题,其中讨论了这个问题,但似乎没有得到最终解决。

0 投票
3 回答
5263 浏览

c# - c# 构造函数 vs 自动属性和对象初始值设定项

我已经使用了很多自动属性,但我越来越远离设置具有在构造函数中初始化的只读支持字段的类。我删除了所有设置器,并且仅在属性明确需要设置器时才添加后面。

我发现这使我的课程更加健壮和优雅的面向对象,我因为没有早点这样做而自责。

我发现构造函数在 c# 代码示例中通常没有得到充分利用,我认为自动属性和对象初始化器是其中的重要组成部分,所以我的问题是为什么 c# 团队会推动这样的功能,而不是更多地专注于提供最好的功能多练习。一般来说,我认为编写糟糕的代码太容易了,并且相信可以做更多的事情来帮助程序员编写好的代码

0 投票
1 回答
124 浏览

visual-studio - 更改 Windows 应用程序大小时可以重新排列组件的属性

当我更改窗口大小或最大化 - 恢复窗口时,是否有表单或组件的任何属性,使用 Visual Studio 创建的 Windows 应用程序的组件将自动排列?如果没有,我该如何手动完成?

0 投票
1 回答
920 浏览

.net - Fluent NHibernate 中 Access.BackingField 的用例是什么?

的文档Access.BackingField()表明:

设置访问策略以使用自动属性的支持字段。

我知道自动属性是用支持字段编译的,但是如果属性根据定义是一个普通的 getter/setter,那么直接进入支持字段而不是使用 setter(即使用 FNH 默认值)可以获得什么优势。

我能想到的唯一一件事是,如果以后有人向 setter 添加逻辑,则可能希望映射中断。

我错过了什么?

0 投票
3 回答
444 浏览

c# - 反对自动属性的案例

可能重复:
C# 3.0 自动属性 ​​- 有用与否?

我的老板和我经常争论使用自动属性的好处和坏处。

对比


为了

我强烈赞成使用它们,因为我必须编写更少的代码,当所有字段都以这种方式编码时,我发现更容易理解该类,并且从长远来看只是为我节省了大量时间(主要是因为我写了一个每次少一点代码)。

反对

他认为它们违反了一些编程原则,因为字段应该反映对象的状态,并且通过使用属性而不是具有属性的字段来访问它,我在调试时会丢失该信息。(老大,如果你读到了这篇文章,但不是你的意思,请随时发表评论;))

大家对这件事怎么看?

注意:我已经查看了副本,它没有谈论反对点,这是这个问题的重点。只是人们说“我爱他们”/“我不在乎”。