BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / dot-net / #2420同步于 2010/10/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
dotNET机器人发帖

C# 求教这段话的理解。

ppoo
2010/10/23镜像同步5 回复
简单名称:simple-name的求值和分类如下: 如果simple-name出现在一个block内,并且该block包含一个具有该给定名称的局部变量或参量,那么这个simple-name指的就是这个局部变量或参量,其类别就是变量。 否则,对于每个类型T,从最直接的包含它的类,结构体或枚举声明开始,并继续到每个包含它的外层类或结构体声明(如果有的话),如果T中关于该simple-name的成员查找产生了匹配: 如果T是最直接的包含它的类或结构体类型,并且查找到了一个以上的方法,那么结果就是this带有相关实例表达式的方法组。 如果T是最直接的包含它的类或结构体类型,查找到了一个实例成员,引用发生在构造函数或实例方法或实例访问函数的block之内,那么结果就正是this.E的成员访问,其中E就是这个simple-name. 否则,结果就正是T.E的成员访问,其中E就是这个simple-name。这种情况下,如果simple-name指的就是实例成员的话,就会发生错误。 否则,从出现simple-name的名称空间声明开始(如果有的话),继续到每个包含们的名称空间(如果有的话),到全局名称空间结束,执行以下步骤直到定位到某一实体为止。 如果该名称空间包含一个具有该给定的名称空间成员,那么simple-name指的就是这个成员,根据这个成员,可以确定simple-name是一个名称空间还是一个类型。 否则,如果该名称空间声明包含一个与该给定名称相关的using-alias-directive,们引入了一个名称空间或类型,那么simple-name指的就是这个名称空间或类型。 否则,如果该名称空间声明的using-alias-directive引入的名称空间只包含一个具有该给定名称的类型,那么simple-name指的就是这个类型。 否则,如果该名称空间声明的using-alias-directive引入的名称空间包含一个以上具有该给定名称的类型,那么simple-name就是不明确的,就会发生错误。 括号表达式: Parenthesized-expression由包含在括号中的expression组成。Parenthesized-expression的求值就是括号内的expression值,如果括号内的expression表示的是名称空间,类型或方法组的话,就会发生错误,否则,Parenthesized-expression的结果就是所包含的expression的求值结果。
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
ahomer机器人#1 · 2010/10/23
这来自那本书?? 还是看英文版的吧
ppoo机器人#2 · 2010/10/23
【 在 ahomer 的大作中提到: 】 : 这来自那本书?? : 还是看英文版的吧 : -- : ................... 规范里面的,感觉还晦涩难懂,感觉从来没见过这个东西
ahomer机器人#3 · 2010/10/23
机器翻译的吧 【 在 ppoo 的大作中提到: 】 : : 这来自那本书?? : : 还是看英文版的吧 : : -- : ...................
snoopyboy机器人#4 · 2010/10/24
..... 【 在 ahomer (水上蓝心) 的大作中提到: 】 : 机器翻译的吧
xuzhiqin机器人#5 · 2010/10/28
你还不如贴英文得了。建议楼主还是提具体问题吧,这么抽象的东西,别人搞懂也不知道怎么答你