Re: Placement of the using keyword
From: Sean Hederman (usemy_at_blogentry.com)
Date: 03/14/05
- Next message: Alejandro Castaņaza: "Re: I'm having problems with cryptography and sockets, help"
- Previous message: lionel letoffet: "Activex resizing ?"
- In reply to: Brian Gideon: "Re: Placement of the using keyword"
- Messages sorted by: [ date ] [ thread ]
Date: Mon, 14 Mar 2005 23:30:29 +0200
"Brian Gideon" <briangideon@yahoo.com> wrote in message
news:1110811357.705551.44630@f14g2000cwb.googlegroups.com...
> Sean,
>
> Thanks for the feedback. I also noticed that the differences in
> placement of the using keyword were limited to normal scoping rules.
> Section 9.3.1 is basically what you've cited.
>
> I suspect you may be right about rolling up the namespace hierarchy.
> But you'd think that would be mentioned somewhere in the specification.
> If it isn't then we can only make assumptions based on observations.
Probably is mentioned in subsection n, clause 18, paragraph 216 or
something. You'd probably have to do a full lexical analysis just to find
anything related ;D
> Brian
>
> Sean Hederman wrote:
>> > 1) Section 9.3.2 of the specification does not mention the
>> > differences in the placement of the using keyword. Why?
>> > Is it described somewhere else in the specification?
>>
>> Just had a look at Helsbergs book, and it appears that the
>> only difference in the placement relates to the scope of
>> aliases:
>>
>> // File1.cs
>> using R = N1.N2; // N1.N2 contains a class called OtherClass
>>
>> namespace A {
>> class Class1 : R.OtherClass { // OK
>> }
>> }
>> namespace B {
>> class Class2 : R.OtherClass { // OK
>> }
>> }
>>
>> // File2.cs
>> namespace A {
>> using R = N1.N2;
>> class Class1 : R.OtherClass { // OK
>> }
>> }
>> namespace B {
>> class Class2 : R.OtherClass { // Not OK
>> }
>> }
>>
>> > 2) How does the compiler know to import A.B types as
>> > opposed to B types when "using B" is contained within
>> > namespace A.C.D? Does the using keyword somehow
>> > search the namespace hierarchy it is contained within
>> > (in this case A.C.D) to find a match first and then
>> > search outside as a last resort?
>>
>> Interesting, from what I can see in the documentation,
>> using B in A.C.D should import B & A.C.D.B. If you're
>> right (and I assume you are), it probably means that it
>> rolls up the namespace hierarchy: importing B & A.B &
>> A.C.B & A.C.D.B.
>>
>
- Next message: Alejandro Castaņaza: "Re: I'm having problems with cryptography and sockets, help"
- Previous message: lionel letoffet: "Activex resizing ?"
- In reply to: Brian Gideon: "Re: Placement of the using keyword"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|