gpt4 book ai didi

c# - 使用 Properties 而不是私有(private)字段和 get/set 方法有什么优势?

转载 作者:行者123 更新时间:2023-11-30 17:40:48 26 4
gpt4 key购买 nike

我最近一直在编程类(class)并使用私有(private)字段和获取/设置方法来访问这些私有(private)字段,一位 friend 向我建议我使用自动实现的属性,因为它可以节省我的编程时间。我想知道这两种方法之间的主要区别是什么,以及自动实现的属性是否在运行时将“字段”的值保持私有(private)。

例如我的 friend 说我应该使用这个:

public int MyProperty { get; set; }

以前我使用的是类似这样的东西:

private int field;

public void setField(int i)
{
field = i;
}
public int getField()
{
return field;
}

最佳答案

防止直接访问字段不仅是一个更好的设计,这是有争议的,而且框架在很多方面更喜欢属性而不是字段(在某些情况下是方法)。

其中之一是数据绑定(bind)。您不能将数据绑定(bind)到字段,只能绑定(bind)到属性。此外,它还允许您设置访问修饰符以允许读取,但不允许写入属性。

属性也比 Java 样式属性更容易编写。最终代码是一样的(因为属性最终变成了方法),但对于作为编码人员的你来说,这要容易得多。

关于c# - 使用 Properties 而不是私有(private)字段和 get/set 方法有什么优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33868335/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com