C# 属性

访问修饰符 数据类型 属性名
{
    get {
        return 变量名;
    }
    set {
        变量名 = value;
    }
}

访问修饰符用来确定属性的可用范围,下面介绍常用的几个访问修饰符。

public:不限制对该属性的访问。
protected:只能从其所在类和所在类的子类(派生类)进行访问。
internal:只有其所在类才能访问。
private:私有访问修饰符,只能在其声明类中使用。

换一种说法:

public:对任何类和成员都公开,无限制访问;
protected:仅仅对该类以及该类的派生类公开:
private:仅仅对该类公开;
internal:只能值包含该类的程序集中访问该类; // 简单理解,同一个 dll
protected internal:只能在本类,派生类或者包含该类的程序集中访问

测试:

class PTest
{
    static void Main(string[] args)
    {
        Program test = new Program();
        test.Day = 5;
        Console.WriteLine(test.Day);
    }

}
public class Program
{
    private int day;
    public int Day {
        get {
            return day;
        }
        set { // 只能传 0~8 的值
            if(value > 0 && value < 8) {
                day = value;
            }
        }
    }
}

输出:

5

如果超出范围,其输出的是默认值 0。

private set:

class Program
{
    public Program()
    {
        a = 200;
    }
    private int a;
    public int A {
        get {
            return a;
        }
        private set {
            a = value;
        }
    }

}

class PMain
{
    static void Main(string[] args)
    {
        Program p = new Program();
        Console.WriteLine("A = {0}", p.A); // 可以读
       // p.A = 100; // 这样不允许。

        Console.Read();
    }
}

private set 这样的形式,类外可读不可写。



另外:
1.关于访问修饰符
2.关于属性

C# 属性

上一篇:SQLServer数据库查询数据库表和所有字段信息


下一篇:JUC(高并发)