1.this()
继承关系中this:调用本类中的其它构造函数
public class Person
{
public Person(string name ):this(name,0,null )
{
}
public Person(int age,string gender):this(string.Empty ,age,gender )
{
}//string类型的字段默认值为null(等同于string.Empty)
public Person(string name, int age, string gender)
{
this.Name = name;
this.Age = age;
this.Gender = gender;
}
public string Name { get; set; }
public int Age { get; set; }
public string Gender { get; set; }
}
2.五种访问修饰符
private:只能被类内部被访问,private是类成员或者结构成员的**默认**访问符
class Student
{
int x = 10;//x is private(default)
}
protected:只能被同一个类或者派生类访问
internal:只能被包含的本程序集(assembly)或者友元程序集访问,是非嵌套类(nested class)的**默认**访问权限
class MyClass
{} //MyClass is internal (default)
友元程序集的生命方法:
[assembly:InternalsVisbleTo("Friend")]
protected internal:能被同一个程序集或者本类及其派生类所访问
public:公开访问,不同程序集也可以访问
PS:直接在命名空间下的class修饰符是public或者internal
3.访问级别约束
1.子类的访问级别不能比父类的访问级别高(会暴露父类中的成员)
2.类中属性或者字段的访问级别不能所对应类型的访问级别高
3.方法的访问级别不能比的参数和返回值的访问级别高(即方法的访问修饰符需要和方法参数的类型的访问修饰符一致)