Известный Болтун
Зарегистрирован: 01 July 2006
Сообщения: 628
Примеры кода: 0
|
Re[2]: Проблемы с приоритетом операторов |
18 January 2007 16:49 |
|
|
|
|
Здравствуйте, vitz, Вы писали:
V>Здравствуйте, nikov, Вы писали:
V>Возможно это все объяснит
V>здесь
Ну, в C# формально нет такого понятия, как l-value. Зато есть expression classifications.
14.1 Expression classifications
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
(§14.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
(§14.5.4). 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 (§14.3). A
method group can have an associated instance expression. When an instance method is invoked, the
result of evaluating the instance expression becomes the instance represented by this (§14.5.7). A
method group can be used in an invocation-expression (§14.5.5), used in a delegate-creation-expression
(§14.5.10.3), or implicitly converted to a compatible delegate type. In any other context, an expression
classified as a method group causes a compile-time error.
• An anonymous method. An expression with this classification can be used in a delegate-creationexpression
(§14.5.10.3) or implicitly converted to a compatible delegate type. In any other context, an
expression classified as an anonymous method 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 can 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 (§14.5.7).
• An event access. Every event access has an associated type, namely the type of the event. Furthermore,
an event access can have an associated instance expression. An event access can appear as the left-hand
operand of the += and -= operators (§14.14.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 (§14.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 (§15.6).
P.S. Я нашел ту тему. Grammar ambiguities in C# 2.0
Данное сообщение получено с сайта RSDN
|
|