1.之所以要有属性的概念,是为了向类提供良好的接口。在没有字段与属性之分前,都是通过将变量设为public,或是将变量设为private,而通过公有函数来改变其值。C++中的做法:
class Demo
{
    private int v;    public void SetV(int value);
    public int GetV();}void Demo::SetV(int value)
{
    v = value;
}int Demo::GetV()
{
    return v;
}C#的做法:
class Demo
{
    private int _v;
    
    public void V
    {
        set
        {
            _v = value;
        }
        get
        {
            return _v;
        }
    }
}不难看出,在C#中区分出字段和属性两个概念还是不错的做法的。2.委托
委托起的作用与回调函数类似,但是委托是类型安全的,而回调函数不是。关于委托的概念CSDN上很多人都讲了,不想再重复一次。你用“委托”搜索一下,就会看到很多贴子的。