- 属性(Property)的实现由两个可选的部分构成,get部分标志属性的取值方法,set部分标志属性的赋值方法。
- set部分中的上下文关键字value引用赋值操作的右侧部分。
- 利用属性可以限制外部对类中的private字段的取值和赋值操作,并且可以在赋值时提供属性验证功能。
- 删除get部分可使属性变成只写属性,删除set部分或在set前添加访问修饰符private,可使属性变成只读属性或仅在类的内部可写,保护字段不被外部赋值。
- 先敲出prop,然后敲一下Tab键,就可以快速生成一个简略属性。
- 先敲出propfull,然后敲一下Tab键,就可以快速生成一个完整属性。
using System;
namespace _08
{
class Program
{
static void Main(string[] args)
{
while (true)
{
Console.WriteLine("请输入一个非零整数:");
Console.WriteLine($"test.value = {new Test(int.Parse(Console.ReadLine())).Value}");
Console.WriteLine("是否继续(y/n):");
if (Console.ReadLine().Contains("n"))
{
break;
}
}
Console.WriteLine($"Test.Count = {Test.Count}");
}
}
class Test
{
private static int count;
public static int Count
{
get
{
return count;
}
private set
{
count = value;
}
}
private int value;
public int Value
{
get
{
return value;
}
set
{
if (value == 0)
{
Console.WriteLine("输入错误!请重新输入:");
Value = int.Parse(Console.ReadLine());
}
else
{
this.value = value;
}
}
}
public Test(int value)
{
Value = value;
Count++;
}
}
}