反射?通过反射调用对象要比直接NEW一个对象慢多 https://www.jb51.net/article/205935.htm

动态获取程序集信息。程序集包含模块,而模块又包括类型,类型下有成员,反射就是管理程序集,模块,类型的对象,它能够动态的创建类型的实例,设置现有对象的类型或者获取现有对象的类型,能调用类型的方法和访问类型的字段属性。反射最大的好处是在运行时创建和使用类型实例。

https://www.cnblogs.com/yinghualuowu/p/16991373.html  什么时候使用反射?

https://www.bilibili.com/video/BV1s7411z7rT/?spm_id_from=333.999.0.0&vd_source=07539ea0fcf778267253f9a6e6ec097d

private:对象本身在对象内部可以访问;

protected:只有该类对象及其子类对象可以访问

internal:同一个程序集的对象可以访问;

protected internal:访问限于当前程序集或派生自包含类的类型。 继承 C# 不支持多重继承。但是,使用接口可以实现多重继承。

多态 C#语言中体现多态有三种方式:虚方法,抽象类, 接口。

C#中static关键字的作用/静态类与正常类的区别?

对类有意义的字段和方法使用static关键字修饰,称为静态成员,通过类名加访问操作符“.”进行访问; 对类的实例有意义的字段和方法不加static关键字,称为非静态成员或实例成员。 静态字段在内存中只有一个拷贝,非静态字段则是在每个实例对象中拥有一个拷贝。 而方法无论是否为静态,在内存中只会有一份拷贝,区别只是通过类名来访问还是通过实例名来访问。

new?

1)new 运算符:用于创建对象和调用构造函数。

2)new 修饰符:在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员。

3)new 约束:用于在泛型声明中约束可能用作类型参数的参数的类型。