转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件使用 >> 系统软件 >> 正文
14.1 Expression classifications         

14.1 Expression classifications

作者:闵涛 文章来源:闵涛的学习笔记 点击数:874 更新时间:2009/4/25 0:44:45
An expression is classified as one of the following:
?A value. Every value has an associated type.
?A variable. Every variable has an associated type, namely the declared
type of the variable.
?A namespace. An expression with this classification can only appear as the
left-hand side of a memberaccess
(?4.5.4). In any other context, an expression classified as a namespace
causes a compile-time
error.
?A type. An expression with this classification can only appear as the
left-hand side of a member-access
(?4.5.4), or as an operand for the as operator (?4.9.10), the is operator
(?4.9.9), or the typeof
operator (?4.5.11). In any other context, an expression classified as a
type causes a compile-time error.
?A method group, which is a set of overloaded methods resulting from a
member lookup (?4.3). A
method group may have an associated instance expression. When an instance
method is invoked, the
result of evaluating the instance expression becomes the instance
represented by this (?4.5.7). A
method group is only permitted in an invocation-expression (?4.5.5) or a
delegate-creation-expression
(?4.5.10.3). In any other context, an expression classified as a method
group causes a compile-time
error.
?A property access. Every property access has an associated type, namely
the type of the property.
Furthermore, a property access may have an associated instance expression.
When an accessor (the get
or set block) of an instance property access is invoked, the result of
evaluating the instance expression
becomes the instance represented by this (?4.5.7).
?An event access. Every event access has an associated type, namely the
type of the event. Furthermore,
an event access may have an associated instance expression. An event access
may appear as the lefthand
operand of the += and -= operators (?4.13.3). In any other context, an
expression classified as an
event access causes a compile-time error.
?An indexer access. Every indexer access has an associated type, namely
the element type of the
indexer. Furthermore, an indexer access has an associated instance
expression and an associated
argument list. When an accessor (the get or set block) of an indexer access
is invoked, the result of
evaluating the instance expression becomes the instance represented by this
(?4.5.7), and the result of
evaluating the argument list becomes the parameter list of the invocation.
?Nothing. This occurs when the expression is an invocation of a method
with a return type of void. An
expression classified as nothing is only valid in the context of a
statement-expression (?5.6).
The final result of an expression is never a namespace, type, method group,
or event access. Rather, as noted
above, these categories of expressions are intermediate constructs that are
only permitted in certain contexts.
A property access or indexer access is always reclassified as a value by
performing an invocation of the getaccessor
or the set-accessor. The particular accessor is determined by the context
of the property or indexer
access: If the access is the target of an assignment, the set-accessor is
invoked to assign a new value
(?4.13.1). Otherwise, the get-accessor is invoked to obtain the current
value (?4.1.1).
14.1.1 Values of expressions
Most of the constructs that involve an expression ultimately require the
expression to denote a value. In such
cases, if the actual expression denotes a namespace, a type, a method
group, or nothing, a compile-time error
occurs. However, if the expression denotes a property access, an indexer
access, or a variable, the value of
the property, indexer, or variable is implicitly substituted:
?The value of a variable is simply the value currently stored in the
storage location identified by the
variable. A variable must be considered definitely assigned (?2.3) before
its value can be obtained, or
otherwise a compile-time error occurs.
?The value of a property access expression is obtained by invoking the
get-accessor of the property. If the
property has no get-accessor, a compile-time error occurs. Otherwise, a
function member invocation
(?4.4.3) is performed, and the result of the invocation becomes the value
of the property access
expression.
?The value of an indexer access expression is obtained by invoking the
get-accessor of the indexer. If the
indexer has no get-accessor, a compile-time error occurs. Otherwise, a
function member invocation
(?4.4.3) is performed with the argument list associated with the indexer
access expression, and the
result of the invocation becomes the value of the indexer access expression.


[系统软件]Regular Expression 正则表达式-4 (C++)  [系统软件]Regular Expression 正则表达式-3 (C++)
[系统软件]Regular Expression 正则表达式-2 (Java)  [系统软件]Regular Expression 正则表达式-1 (C#)
[系统软件]The GRETA Regular Expression Template Archive  [系统软件]tomcat5下设置EL(expression language)
[系统软件]关于邮件地址的regular expression 问题  [系统软件]REGULAR EXPRESSION IN VBSCRIPT
[系统软件]正则表达式大全(regular expression)  [系统软件]XQuery表达式之量化表达式(Quantified Expression…
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · 办公软件  · 系统软件
    · 常用软件  · 聊天工具
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台