一.
下面这段代码定义了一个包括所有可能成员的类型.
class SomeType
{
//嵌套类
class SomeNestedType
{ }
//常数、只读字段、静态读写字段
const Int32 SomeConstant = 1;
readonly int SomeReadOnlyField = 2;
static int SomeReadWriteField = 3;
//类构造器
static SomeType()
{
//..
}
//实例构造器
public SomeType()
{
//..
}
public SomeType(int x)
{
//
..
}
//实例方法和静态方法
String InstantceMethod()
{
return null;
}
static void Method()
{
}
//实例属性
int SomeProp
{
get
{ return 0; }
set
{ }
}
//实例索引器属性
public int this[String s]
{
get
{ return 0; }
set
{ }
}
//实例事件
event EventHandler someEvent;
}二:访问限定修饰符和预定义特性
1.
private 仅可以被所定义类型(或其任何嵌套类型)中的方法访问.
protected 仅可以被所定义类型(或其任何嵌套类型)及其派生类型中的方法访问,与所在程序集无关.
Internal 仅可以被所定义程序集中的方法访问.
protected internal 仅可以被所定义类型.派生类型以及任何定义在同一程序集中方法访问.
public 可以被所以程序集中的所有方法访问。
2,
类型预定义特性
abstract 不能被实例化.可以用作其他类型的基类型.如果派生类不是抽象的,则可以构造他们的实例.
sealed 不能用作基类型
3.
字段预定义特性
static 字段是类型状态,而非对象状态的一部分
readonly 字段仅可以在构造器方法中被赋值.
4.
方法预定义特性
static 方法和类型,而非类型的实例相关.静态方法不能访问类型中的实例字段或实例方法,因为静态方法对对象的状态一无 所知
默认 方法和类型的实例而非类型本身关联.方法可以访问实例字段和实例方法,也可以访问静态字段和静态方法.
virtual 当方法被调用时,无论对象是否被转换为其基类型,都只有位于对象继承链最末端的方法实现会被调用.仅应用于实例方法.
new 方法的子类实现不会重写基类型中的实现.而仅仅是将其隐藏起来.仅用于虚方法.
override 显示表明方法在重写基类型中的虚方法.仅用于虚方法.
abstract 表示派生类型必须提供和该抽象方法签名匹配的实现.含抽象方法的类型是一个抽象类型.
sealed 派生类不能重写该方法.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12639172/viewspace-448592/ ,如需转载,请注明出处,否则将追究法律责任。