C# 中的 set 和 get 主要应用于属性(Property)
-
简化访问:通过使用 set 和 get,您可以将类的内部实现隐藏起来,仅暴露一个简洁的界面供外部访问。这使得代码更易于阅读和维护。
-
数据验证:在 set 和 get 中,您可以添加数据验证逻辑,以确保设置的值满足特定条件。例如,您可以检查值是否在有效范围内,或者是否为预期的数据类型。
-
通知更改:当属性值发生变化时,您可以使用 set 和 get 来触发事件,以便其他类或对象可以相应地更新其状态。这有助于保持数据的一致性和同步。
-
控制访问级别:您可以根据需要设置 set 和 get 的访问级别(如 public、protected、internal 或 private),以控制对类成员的访问权限。
以下是一个简单的 C# 类示例,展示了如何使用 set 和 get:
public class Person { private string _name; public string Name { get { return _name; } set { if (!string.IsNullOrEmpty(value)) { _name = value; } else { throw new ArgumentException("Name cannot be null or empty."); } } } }
在这个示例中,我们有一个名为 Person
的类,它有一个名为 Name
的属性。我们使用 get 访问器返回 _name
的值,使用 set 访问器设置 _name
的值。在 set 访问器中,我们添加了一个简单的数据验证,以确保 Name
不为空或空字符串。如果值无效,我们抛出一个 ArgumentException
。