|
|
1
41
更新为C#6
原始答案 自动实现的属性可以在类构造函数中初始化,但不能在属性本身上初始化。
更新: Mehrdad's answer |
|
|
2
9
第一个属性(IsSomething)是布尔值。默认情况下,它将为false。
首先,使用备份存储字段:
第二个选项-将其添加到构造函数中。 请注意,第一个选项没有额外的开销——这基本上是编译器在使用自动属性时所做的事情。 |
|
3
6
在一个分部类的两个部分中不能有两个构造函数。但是,您可以使用 partial methods
如果分部类的任何部分都没有定义分部方法,那么对它的所有调用都将被忽略。 |
|
|
4
5
如果您试图将属性添加到WCF代理类(通过添加服务引用生成),您可能会惊讶地发现私有字段没有初始化,因为 no constructor at all is called .
这与字段是否在分部类中无关。 [OnDeserialized] 属性,用于对对象执行进一步初始化。这是System.Runtime.Serialization的一部分,因此仅在使用 DataContractSerializer .
另一种方法是“延迟加载”属性,但这种方法不那么优雅。
|
|
|
5
4
对此,不要使用自动属性,而是使用旧方法
|
|
|
6
3
对于C#6.0版的用户,可以如下初始化属性:
|
|
|
7
1
这两个属性都已具有所需的默认值。 在分部类中使用构造函数没有什么错。除了源代码分布在多个文件/声明中之外,分部类没有任何特殊之处。 |
|
|
8
0
然后,当您要覆盖条件上的值时,
希望这会有所帮助 |
|
Leth · 设置具有只读属性的输入字段的默认值 8 年前 |
|
|
Bad Dub · 默认值设置为0的输入在渲染时没有0[关闭] 9 年前 |
|
|
Nemus · 无法将当前时间戳设置为默认值 9 年前 |
|
|
Mokey · C#选择目录,默认目录 9 年前 |
|
|
rasmus393 · python返回默认语句 11 年前 |
|
|
C A · 如何更改web应用程序的默认目录访问? 11 年前 |
|
|
user3437460 · 在这种情况下,我需要“默认”语句吗? 12 年前 |
|
|
user2913576 · Python-空白范围默认为预设范围 12 年前 |