If the member access expression uses an exclamation point as a qualifier instead of a period, the member access is a dictionary access. A dictionary access is processed as a normal member access, with the exception that if the target has no matching member, the target must have a default property indexed by a single String
parameter. Then the expression E!I
is transformed into the expression E.D("I")
, where D
is the default property of E
.
If an exclamation point is specified with no expression, the expression from the immediately containing With
statement is assumed. If there is no containing With
statement, an error occurs.
!
IdentifierOrKeyword