函数成员

今天搞了一个下午的oracle,晕死了。装是是好了,就是连接还是老出错。烦死了,算了,明天继续搞了,先休息下继续学习C#了,今天多学点理论知识。

函数成员

        函数成员是一些包含可执行语句的成员。函数成员总是类型的成员,并且不能是名称空间的成员。其中C#下面五种函数成员:

        1、构造函数;

        2、方法;

        3、属性

        4、索引

        5、用户定义操作符

在函数成员中包含的语句通过函数成员调用来执行。函数成员调用的事件语法是根据不同的函数成员种类来定。然而,所有的函数成员调用都是表达式,它允许参数被传送到函数成员中,并且允许函数成员计算和返回一个结果。构造函数、方法、索引和操作符的引用,使用重载分析来确定调用哪个候选功能参数集。

下面看一个构造函数的五种函数成员发生的变化;

在表中,e、x、y和 value指示表达式被作作为变量或数值分类,T表示一个作为类型分类的表达式,F是一个方法的简单名称,P是一个属性的简单名称。

结构

例子

描述

构造函数调用

new T(x, y)

重载分析被应用于在类或结构T中选择最好的构造函数。构造函数被调用,有参数列表 (x, y)。

方法调用

F(x, y)

重载分析被应用于在包含的类或结构中选择最好的方法F。方法调用有参数列表 (x, y)。如果方法不是static,实例表达式就是this。

T.F(x, y)

重载分析被应用于在类或结构T中选择方法F。如果方法不是static,会发生错误,方法调用有参数列表 (x, y)。

e.F(x, y)

重载分析被应用于在e给定的类、结构或接口中选择方法F。如果方法不是static,会发生错误,方法调用有参数列表 (x, y)。

属性访问

P

在包含类或结构中的属性的get访问符被调用。如果P是只写的,会产生错误,如果P不是静态的,实例表达式就是this。

P = value

在包含类或结构中的属性P的set访问符被调用,并且有参数列表(value)。如果P是只读的,会产生错误,如果P不是静态的,实例表达式就是this。

T.P

在类或结构T中的属性的get访问符被调用。如果P是只写的,会产生错误,如果P不是静态的,实例表达式就是this。

T.P = value

在类或结构T中的属性P的set访问符被调用,并且有参数列表(value)。如果P是只读的,会产生错误,如果P不是静态的,实例表达式就是this。

e.P

在类型e提供的类、结构或接口中的属性的get访问符被调用。如果P是只写的,会产生错误。

e.P = value

在类型e提供的类、结构或接口中的属性P的set访问符被调用,并且有参数列表(value)。如果P是只读的,会产生错误。

索引访问

e[x, y]

重载分析被用于选择类型e提供的类、结构或接口。索引的get访问符被调用,有实例表达式e和参数列表(x, y)。如果P是只写的,会产生错误。

e[x, y] = value

重载分析被用于选择类型e提供的类、结构或接口。索引的set访问符被调用,有实例表达式e和参数列表(x, y, value)。如果P是只读的,会产生错误。

操作符调用

-x

重载分析被用于在类型x所给的类或结构中选择最好的一元操作符。所选择的操作符被调用,有参数列表(x)。

x + y

重载分析被用于在类型x和y所给的类或结构中选择最好的一元操作符。所选择的操作符被调用,有参数列表 (x, y)。

参数列表

每种函数成员调用都包括一个参数列表,它提供了对函数成员的参数的引用的真实数据或变量。指定函数成员的参数列表的语法要根据函数成员的种类:

         对于构造函数、方法和代表,参数被指定为一个参数列表,如下面所描述的一样

         对于属性,当调用get访问符时参数列表是空的,并且当调用set访问符时由所指定的复制操作符的右边操作数构成。

·        对于标签,参数列表由标签访问中在方括号中指定的表达式构成。当调用set访问符时,参数列表另外包括所指定的复制操作符的右边操作数。

         对于用户定义的操作符,参数列表由一元操作符的单操作数或二元操作符的两个操作数构成

属性、索引和用户定义的操作符的复制通常要传递数值参数,这些函数成员的种类不支持引用和输出参数

功能成员调用

在运行时调用一个特殊的功能成员发生的过程。假设一个编译时的过程已经决定要调用的特殊成员,很可能是通过对候选功能成员集使用重载分析来实现。

        静态函数成员。这里有静态方法、构造函数、静态属性访问符和用户定义的操作符。静态函数成员通常是非虚的

        实例函数成员。这里有实例方法、实例属性访问符和索引访问符。实例函数成员可以是非虚拟或虚拟,并且通常是在一共特殊实例中引用。这个实例由一个实例表达式计算,并且它在功能成员中变的可访问



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值