|
1
67
正如许多人指出的,A是 领域 ,B是a 财产 真正的问题是,你为什么要在乎,以及该用什么? 我指的是 blog post of Jonathan Aneja (它在VB中,但也适用于C) 所以为什么要在字段上使用属性,原因有五:
我还想指出 blog post of Jeff Atwood 最后引用它的一句话:
|
|
|
2
22
注意,这种转换对于所有C#属性都是正确的——对ABC.B的访问将转换为方法调用。属性基本上提供了“变量”的幻觉,而实际上只是一对巧妙伪装的方法。 拥有 获取并设置方法体,它可以验证值或执行其他有趣的操作:
请注意,大多数属性将使用一个字段来存储其值。除了田地之外,物业本身很少存在。 |
|
|
3
4
属性是一种短的getter和or setter。您可以将逻辑添加到
|
|
|
4
4
在C中,任何具有getter和setter的“变量”都称为属性。变量没有getter和setter,这就是教科书上说的。 我的编程老师让我们几乎对用Java创建的每个变量都有getter和setter。即使是他使用的索引变量,如果在全局类范围内声明,我们也会使用一个吸收器和设置器。我想这可能是杀伤力太强了,但它确实让我成为了一个能手和二传手。
如果您的属性是私有的,并且您的setter和getter在技术上是公共的,那么任何人都可以访问您的变量并更改它,就像他们对实际的变量具有公共访问一样。因此,实际上,您应该检查您的数据以确保它是有效的,或者进行其他数据检查。
以上是以下文字的速记法
|
|
|
5
3
变量是一个变量。 属性是公开该变量的特殊类型的方法。因为它是一个方法,所以除了公开变量之外,您还可以在其中做一些其他事情。
|
|
|
6
0
在你的例子中
|
|
|
7
0
变量的定义基本上是为了访问一个类中的值,或者根据分配给这些变量的修饰符访问同一个类中的值。 定义属性时,会为单个属性创建两个方法,因此会产生额外的开销,这是属性的缺点。 属性的优点是获取或设置类的私有变量的值。 |
|
|
8
0
文章节选:
参考: https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-3.0/ms182141(v=vs.80) |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |