C# 属性没有存储位置。C# 属性是字段的扩展,可以像字段一样访问。
属性具有用于设置、获取或计算其值的访问器。
C# 属性可以是只读的或只写的。
在 C# 属性中设置值时,我们可以有逻辑。
我们将类的字段设为私有,这样就不能直接从类外部访问字段。现在我们被迫使用 C# 属性来设置或获取值。
using System; public class Employee { private string name; public string Name { get { return name; } set { name = value; } } } class TestEmployee{ public static void Main(string[] args) { Employee e1 = new Employee(); e1.Name = "Sonoo Jaiswal"; Console.WriteLine("员工姓名:" + e1.Name); } }
输出:
员工姓名:Sonoo Jaiswal
using System; public class Employee { private string name; public string Name { get { return name; } set { name = value+" JavaTpoint"; } } } class TestEmployee{ public static void Main(string[] args) { Employee e1 = new Employee(); e1.Name = "Sonoo"; Console.WriteLine("员工姓名:" + e1.Name); } }
输出:
员工姓名:Sonoo JavaTpoint
using System; public class Employee { private static int counter; public Employee() { counter++; } public static int Counter { get { return counter; } } } class TestEmployee{ public static void Main(string[] args) { Employee e1 = new Employee(); Employee e2 = new Employee(); Employee e3 = new Employee(); //e1.Counter = 10;//Compile Time Error: Can't set value Console.WriteLine("员工人数:" + Employee.Counter); } }
输出:
员工人数:3