属性和方法

属性

属性是一种用于访问对象或类的特性的成员。

属性具有以下的特点:

a).属性可向程序中添加元数据。元数据是嵌入程序中的信息,如编译器指令或数据描述。

b).程序可以使用反射检查自己的元数据。

c).通常使用属性与COM交互。

注:属性不能作为ref参数或out参数传递。

1.属性以两种形式存在:

1).在公共语言运行库的基类库中定义的属性

[System.Serializable]

Public class MyClass{}

2).可以创建,并可以向代码中添加附加信息的自定义属性。

public class Date

{

private int day = 7;

public int Day

{

get{return day;}

set{

if((value > 0) && (value < 8))

{

day = value;

}

}

}

}

说明:get访问器与方法体相似,它必须返回属性类型的值;而set访问器类似于返回类型为void的方法,它使用成为value的隐式参数,此参数的类型是属性的类型。

2.属性的使用

对象名.属性名

new Date().Day = 1;

注:

a).如果要在其他类中调用自定义属性,必须将自定义属性的访问级别设置为public.

b).如果属性为只读属性,不能在调用时为其赋值,否则产生异常。

方法

方法是一种用于实现可以由对象或类执行的计算或操作的成员。

1.方法的声明

方法在类或结构中声明,声明时需要指定访问级别、返回值、方法名称及方法参数。

方法声明可以包含一组特性和private、public、potected、internal4个访问修饰符的任何一个有效组合,还可以包含new、static、virtual、override、sealed、abstract以及extern等修饰符。

如果以下所有条件都为真,则表明所声明的方法具有一个有效的修饰符组合。

a).该声明包含一个有效的访问修饰符组合。

b).该声明中所包含的修饰符彼此各不相同。

c).该声明最多包含下列修饰符中的一个:static、virtual和override。

d).该声明最多包含下列修饰符中的一下:new和override。

e).如果该声明包含abstract修饰符,则该声明不包含下列任何修饰符:static、virtual、sealed和extern。

f).如果该声明包含private修饰符,则该声明不包含下列任何修饰符:virtual、override或abstract。

g).如果该声明包含sealed修饰符,则该声明还包含override修饰符。

public void method()

{

}

2.方法的分类

1).静态方法

static void Main(string[] args)

{

}

注:静态方法不对特定实例进行操作,在静态方法中引用this会导致编译错误。

2).非静态方法

public void method()

{

}

3.方法的重载

方法重载是指调用同一方法名,但各方法中参数的数据类型、个数或顺序不同。

《C#从入门到精通》读后总结

原文地址:https://www.cnblogs.com/hmliang/p/5256178.html