C# 属性get和set示例
using System; public class Customer { private int m_id = -1; public int ID { get { return m_id; } set { m_id = value; } } private string m_name = string.Empty; public string Name { get { return m_name; } set { m_name = value; } } } public class CustomerManagerWithProperties { public static void Main() { Customer cust = new Customer(); cust.ID = 1; cust.Name = "Amelio Rosales"; Console.WriteLine( "ID: {0}, Name: {1}", cust.ID, cust.Name); Console.ReadKey(); } }
属性通过属性对类中的字段进行读写来提供保护字段的机会。在其他语言中,这通常是通过实现专门的getter和setter方法的程序来完成的。C#属性启用了这种类型的保护,同时也允许您像字段一样访问属性。属性相对于字段的另一个好处是,您可以随着时间的推移更改其内部实现。对于公共字段,基础数据类型必须始终相同,因为调用代码取决于字段是相同的。但是,使用属性可以更改实现。例如,如果客户的ID最初存储为int,则可能会发生需求更改,从而执行验证,以确保调用代码永远不能将ID设置为负值。如果是字段,您将永远无法做到这一点,但是属性允许您在不中断代码的情况下进行这样的更改。
日期:2020-04-11 23:03:48 来源:oir作者:oir