Gmail Calendar Documents Reader Web more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Interesting tool
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  21 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Corrado Cavalli  
View profile  
 More options May 23 2008, 6:59 pm
From: "Corrado Cavalli" <corradocava...@gmail.com>
Date: Sat, 24 May 2008 00:59:14 +0200
Local: Fri, May 23 2008 6:59 pm
Subject: Interesting tool

While not strictly WPF related, found this interesting tool to enforce code
styling

http://blogs.msdn.com/sourceanalysis/archive/2008/05/23/announcing-th...
se-of-microsoft-source-analysis.aspx

HTH

Corrado


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Marlon Grech  
View profile  
 More options May 23 2008, 7:00 pm
From: "Marlon Grech" <marlongr...@gmail.com>
Date: Sat, 24 May 2008 01:00:21 +0200
Local: Fri, May 23 2008 7:00 pm
Subject: Re: Interesting tool

I already downloaded it, it is super cool!!!!!!!!!!!!!!!!!!!!!!!!!

On Sat, May 24, 2008 at 12:59 AM, Corrado Cavalli <corradocava...@gmail.com>
wrote:

>  While not strictly WPF related, found this interesting tool to enforce
> code styling

> http://blogs.msdn.com/sourceanalysis/archive/2008/05/23/announcing-th...

> HTH

> Corrado

--
Regards
Marlon
Blog - http://marlongrech.wordpress.com/
WPF Controls Library - http://www.codeplex.com/avaloncontrolslib

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mike Brown  
View profile  
 More options May 30 2008, 11:58 am
From: "Mike Brown" <mbrow...@gmail.com>
Date: Fri, 30 May 2008 11:58:09 -0400
Local: Fri, May 30 2008 11:58 am
Subject: Re: Interesting tool

I found how it relates to WPF.
http://blogs.msdn.com/sourceanalysis/pages/sa1200-usingdirectivesmust...

If you place the using directive within your namespace declaration,
referenced assemblies won't be loaded until the class that uses them are
loaded. Placing them outside the namespace declaration means they will be
loaded the second the assembly is loaded. In most cases this means that
every assembly that your application references is being loaded at start
time. Simply moving your using directives inside of your namespace
declaration can impact your app startup time significantly!

On Fri, May 23, 2008 at 7:00 PM, Marlon Grech <marlongr...@gmail.com> wrote:
> I already downloaded it, it is super cool!!!!!!!!!!!!!!!!!!!!!!!!!

> On Sat, May 24, 2008 at 12:59 AM, Corrado Cavalli <
> corradocava...@gmail.com> wrote:

>>  While not strictly WPF related, found this interesting tool to enforce
>> code styling

>> http://blogs.msdn.com/sourceanalysis/archive/2008/05/23/announcing-th...

>> HTH

>> Corrado

> --
> Regards
> Marlon
> Blog - http://marlongrech.wordpress.com/
> WPF Controls Library - http://www.codeplex.com/avaloncontrolslib


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Josh Smith  
View profile  
 More options May 30 2008, 12:03 pm
From: "Josh Smith" <flappleja...@gmail.com>
Date: Fri, 30 May 2008 12:03:23 -0400
Local: Fri, May 30 2008 12:03 pm
Subject: Re: Interesting tool

FASCINATING!

On Fri, May 30, 2008 at 11:58 AM, Mike Brown <mbrow...@gmail.com> wrote:
> I found how it relates to WPF.

> http://blogs.msdn.com/sourceanalysis/pages/sa1200-usingdirectivesmust...

> If you place the using directive within your namespace declaration,
> referenced assemblies won't be loaded until the class that uses them are
> loaded. Placing them outside the namespace declaration means they will be
> loaded the second the assembly is loaded. In most cases this means that
> every assembly that your application references is being loaded at start
> time. Simply moving your using directives inside of your namespace
> declaration can impact your app startup time significantly!

> On Fri, May 23, 2008 at 7:00 PM, Marlon Grech <marlongr...@gmail.com>
> wrote:

>> I already downloaded it, it is super cool!!!!!!!!!!!!!!!!!!!!!!!!!

>> On Sat, May 24, 2008 at 12:59 AM, Corrado Cavalli <
>> corradocava...@gmail.com> wrote:

>>>  While not strictly WPF related, found this interesting tool to enforce
>>> code styling

>>> http://blogs.msdn.com/sourceanalysis/archive/2008/05/23/announcing-th...

>>> HTH

>>> Corrado

>> --
>> Regards
>> Marlon
>> Blog - http://marlongrech.wordpress.com/
>> WPF Controls Library - http://www.codeplex.com/avaloncontrolslib


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Corrado Cavalli  
View profile  
 More options May 30 2008, 12:12 pm
From: "Corrado Cavalli" <corradocava...@gmail.com>
Date: Fri, 30 May 2008 18:12:07 +0200
Local: Fri, May 30 2008 12:12 pm
Subject: RE: Interesting tool

Thanks Mike, very helpful!

Corrado

From: wpf-disciples@googlegroups.com [mailto:wpf-disciples@googlegroups.com]
On Behalf Of Mike Brown
Sent: venerdμ 30 maggio 2008 17:58
To: wpf-disciples@googlegroups.com
Subject: Re: Interesting tool

I found how it relates to WPF.

http://blogs.msdn.com/sourceanalysis/pages/sa1200-usingdirectivesmust...
dwithinnamespace.aspx

If you place the using directive within your namespace declaration,
referenced assemblies won't be loaded until the class that uses them are
loaded. Placing them outside the namespace declaration means they will be
loaded the second the assembly is loaded. In most cases this means that
every assembly that your application references is being loaded at start
time. Simply moving your using directives inside of your namespace
declaration can impact your app startup time significantly!

On Fri, May 23, 2008 at 7:00 PM, Marlon Grech <marlongr...@gmail.com> wrote:

I already downloaded it, it is super cool!!!!!!!!!!!!!!!!!!!!!!!!!

On Sat, May 24, 2008 at 12:59 AM, Corrado Cavalli <corradocava...@gmail.com>
wrote:

While not strictly WPF related, found this interesting tool to enforce code
styling

http://blogs.msdn.com/sourceanalysis/archive/2008/05/23/announcing-th...
se-of-microsoft-source-analysis.aspx

HTH

Corrado

--

Regards
Marlon
Blog - http://marlongrech.wordpress.com/
WPF Controls Library - http://www.codeplex.com/avaloncontrolslib

<br


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Laurent Bugnion [MVP, MCP]  
View profile  
 More options May 30 2008, 2:05 pm
From: "Laurent Bugnion [MVP, MCP]" <laur...@galasoft.ch>
Date: Fri, 30 May 2008 20:05:09 +0200
Local: Fri, May 30 2008 2:05 pm
Subject: Re: Interesting tool
Wow I had no idea about that, and yet I consider myself a rather
experienced C# developer. How interesting. Thanks Mike!!

Mike Brown wrote:
> I found how it relates to WPF.
> http://blogs.msdn.com/sourceanalysis/pages/sa1200-usingdirectivesmust...

> If you place the using directive within your namespace declaration,
> referenced assemblies won't be loaded until the class that uses them
> are loaded. Placing them outside the namespace declaration means they
> will be loaded the second the assembly is loaded. In most cases this
> means that every assembly that your application references is being
> loaded at start time. Simply moving your using directives inside of
> your namespace declaration can impact your app startup time significantly!

> On Fri, May 23, 2008 at 7:00 PM, Marlon Grech <marlongr...@gmail.com
> <mailto:marlongr...@gmail.com>> wrote:

>     I already downloaded it, it is super cool!!!!!!!!!!!!!!!!!!!!!!!!!

>     On Sat, May 24, 2008 at 12:59 AM, Corrado Cavalli
>     <corradocava...@gmail.com <mailto:corradocava...@gmail.com>> wrote:

>         While not strictly WPF related, found this interesting tool to
>         enforce code styling

>         http://blogs.msdn.com/sourceanalysis/archive/2008/05/23/announcing-th...

>         HTH

>         Corrado

>     --
>     Regards
>     Marlon
>     Blog - http://marlongrech.wordpress.com/
>     WPF Controls Library - http://www.codeplex.com/avaloncontrolslib

--
Laurent Bugnion [Microsoft MVP, MCP]
Software engineering, Blog: http://www.galasoft.ch
PhotoAlbum: http://www.galasoft.ch/pictures
Support children in Calcutta: http://www.calcutta-espoir.ch

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Brennon Williams  
View profile  
 More options May 30 2008, 2:22 pm
From: "Brennon Williams" <brennonwilli...@x-coders.com>
Date: Fri, 30 May 2008 19:22:36 +0100
Local: Fri, May 30 2008 2:22 pm
Subject: RE: Interesting tool

Excellent information here... thanks Mike for the tip and Corrado for raising
the tool.

From: wpf-disciples@googlegroups.com [mailto:wpf-disciples@googlegroups.com]
On Behalf Of Corrado Cavalli
Sent: 30 May 2008 17:12
To: wpf-disciples@googlegroups.com
Subject: RE: Interesting tool

Thanks Mike, very helpful!

Corrado

From: wpf-disciples@googlegroups.com [mailto:wpf-disciples@googlegroups.com]
On Behalf Of Mike Brown
Sent: venerdμ 30 maggio 2008 17:58
To: wpf-disciples@googlegroups.com
Subject: Re: Interesting tool

I found how it relates to WPF.

http://blogs.msdn.com/sourceanalysis/pages/sa1200-usingdirectivesmust...
dwithinnamespace.aspx

If you place the using directive within your namespace declaration,
referenced assemblies won't be loaded until the class that uses them are
loaded. Placing them outside the namespace declaration means they will be
loaded the second the assembly is loaded. In most cases this means that
every assembly that your application references is being loaded at start
time. Simply moving your using directives inside of your namespace
declaration can impact your app startup time significantly!

On Fri, May 23, 2008 at 7:00 PM, Marlon Grech <marlongr...@gmail.com> wrote:

I already downloaded it, it is super cool!!!!!!!!!!!!!!!!!!!!!!!!!

On Sat, May 24, 2008 at 12:59 AM, Corrado Cavalli <corradocava...@gmail.com>
wrote:

While not strictly WPF related, found this interesting tool to enforce code
styling

http://blogs.msdn.com/sourceanalysis/archive/2008/05/23/announcing-th...
se-of-microsoft-source-analysis.aspx

HTH

Corrado

--

Regards
Marlon
Blog - http://marlongrech.wordpress.com/
WPF Controls Library - http://www.codeplex.com/avaloncontrolslib

<br


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mike Brown  
View profile  
 More options May 30 2008, 3:43 pm
From: "Mike Brown" <mbrow...@gmail.com>
Date: Fri, 30 May 2008 15:43:05 -0400
Local: Fri, May 30 2008 3:43 pm
Subject: Re: Interesting tool

Don't thank me yet...I haven't CONFIRMED an increase in app load time. I'm
just conjecturing that the two might be interrelated. Of course, it would
help if VS helped enforced that rule itself.

Speaking of cool tools have you guys looked at ESP
http://www.microsoft.com/esp

Also am I the only one excited about multitouch in Windows 7...I've GOTTA go
to PDC this year...just gotta.

On Fri, May 30, 2008 at 2:22 PM, Brennon Williams <

brennonwilli...@x-coders.com> wrote:
>  Excellent information here… thanks Mike for the tip and Corrado for
> raising the tool.

> *From:* wpf-disciples@googlegroups.com [mailto:
> wpf-disciples@googlegroups.com] *On Behalf Of *Corrado Cavalli
> *Sent:* 30 May 2008 17:12
> *To:* wpf-disciples@googlegroups.com
> *Subject:* RE: Interesting tool

> Thanks Mike, very helpful!

> Corrado

> *From:* wpf-disciples@googlegroups.com [mailto:
> wpf-disciples@googlegroups.com] *On Behalf Of *Mike Brown
> *Sent:* venerdμ 30 maggio 2008 17:58
> *To:* wpf-disciples@googlegroups.com
> *Subject:* Re: Interesting tool

> I found how it relates to WPF.

> http://blogs.msdn.com/sourceanalysis/pages/sa1200-usingdirectivesmust...

> If you place the using directive within your namespace declaration,
> referenced assemblies won't be loaded until the class that uses them are
> loaded. Placing them outside the namespace declaration means they will be
> loaded the second the assembly is loaded. In most cases this means that
> every assembly that your application references is being loaded at start
> time. Simply moving your using directives inside of your namespace
> declaration can impact your app startup time significantly!

> On Fri, May 23, 2008 at 7:00 PM, Marlon Grech <marlongr...@gmail.com>
> wrote:

> I already downloaded it, it is super cool!!!!!!!!!!!!!!!!!!!!!!!!!

> On Sat, May 24, 2008 at 12:59 AM, Corrado Cavalli <
> corradocava...@gmail.com> wrote:

> While not strictly WPF related, found this interesting tool to enforce code
> styling

> http://blogs.msdn.com/sourceanalysis/archive/2008/05/23/announcing-th...

> HTH

> Corrado

> --

> Regards
> Marlon
> Blog - http://marlongrech.wordpress.com/
> WPF Controls Library - http://www.codeplex.com/avaloncontrolslib

> <br


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Karl Shifflett  
View profile  
 More options May 30 2008, 4:02 pm
From: "Karl Shifflett" <k...@littlerichie.com>
Date: Fri, 30 May 2008 13:02:12 -0700
Local: Fri, May 30 2008 4:02 pm
Subject: RE: Interesting tool

Karl is SO juiced about multitouch!  I've got two of these machines.

From: wpf-disciples@googlegroups.com [mailto:wpf-disciples@googlegroups.com] On Behalf Of Mike Brown
Sent: Friday, May 30, 2008 3:43 PM
To: wpf-disciples@googlegroups.com
Subject: Re: Interesting tool

Don't thank me yet...I haven't CONFIRMED an increase in app load time. I'm just conjecturing that the two might be interrelated. Of course, it would help if VS helped enforced that rule itself.

Speaking of cool tools have you guys looked at ESP http://www.microsoft.com/esp

Also am I the only one excited about multitouch in Windows 7...I've GOTTA go to PDC this year...just gotta.

On Fri, May 30, 2008 at 2:22 PM, Brennon Williams <brennonwilli...@x-coders.com> wrote:

Excellent information here... thanks Mike for the tip and Corrado for raising the tool.

From: wpf-disciples@googlegroups.com [mailto:wpf-disciples@googlegroups.com] On Behalf Of Corrado Cavalli
Sent: 30 May 2008 17:12

To: wpf-disciples@googlegroups.com

Subject: RE: Interesting tool

Thanks Mike, very helpful!

Corrado

From: wpf-disciples@googlegroups.com [mailto:wpf-disciples@googlegroups.com] On Behalf Of Mike Brown
Sent: venerdμ 30 maggio 2008 17:58
To: wpf-disciples@googlegroups.com
Subject: Re: Interesting tool

I found how it relates to WPF.

http://blogs.msdn.com/sourceanalysis/pages/sa1200-usingdirectivesmust...

If you place the using directive within your namespace declaration, referenced assemblies won't be loaded until the class that uses them are loaded. Placing them outside the namespace declaration means they will be loaded the second the assembly is loaded. In most cases this means that every assembly that your application references is being loaded at start time. Simply moving your using directives inside of your namespace declaration can impact your app startup time significantly!

On Fri, May 23, 2008 at 7:00 PM, Marlon Grech <marlongr...@gmail.com> wrote:

I already downloaded it, it is super cool!!!!!!!!!!!!!!!!!!!!!!!!!

On Sat, May 24, 2008 at 12:59 AM, Corrado Cavalli <corradocava...@gmail.com> wrote:

While not strictly WPF related, found this interesting tool to enforce code styling

http://blogs.msdn.com/sourceanalysis/archive/2008/05/23/announcing-th...

HTH

Corrado

--

Regards
Marlon
Blog - http://marlongrech.wordpress.com/
WPF Controls Library - http://www.codeplex.com/avaloncontrolslib

<br

<br


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Brennon Williams  
View profile  
 More options May 30 2008, 4:07 pm
From: "Brennon Williams" <brennonwilli...@x-coders.com>
Date: Fri, 30 May 2008 21:07:52 +0100
Local: Fri, May 30 2008 4:07 pm
Subject: RE: Interesting tool
I am glad in a way that this is news to you guys as well...

My first thought was... awesome.. I had no idea... but it really does make
perfect sense and I cant believe I never tried it before...

And my second was.. I am going to look like I have the IQ of a tennis ball
for not knowing that ;-)

One of things I enjoy so very much about this group (besides the excellent
banter).. is the fact that these bits of information often escape my
attention... and these are very important.

I am in awe of the collective knowledge of all you guys..

-----Original Message-----
From: wpf-disciples@googlegroups.com [mailto:wpf-disciples@googlegroups.com]

On Behalf Of Laurent Bugnion [MVP, MCP]
Sent: 30 May 2008 19:05
To: wpf-disciples@googlegroups.com
Subject: Re: Interesting tool

Wow I had no idea about that, and yet I consider myself a rather
experienced C# developer. How interesting. Thanks Mike!!

Mike Brown wrote:
> I found how it relates to WPF.

http://blogs.msdn.com/sourceanalysis/pages/sa1200-usingdirectivesmust...
dwithinnamespace.aspx

> If you place the using directive within your namespace declaration,
> referenced assemblies won't be loaded until the class that uses them
> are loaded. Placing them outside the namespace declaration means they
> will be loaded the second the assembly is loaded. In most cases this
> means that every assembly that your application references is being
> loaded at start time. Simply moving your using directives inside of
> your namespace declaration can impact your app startup time significantly!

> On Fri, May 23, 2008 at 7:00 PM, Marlon Grech <marlongr...@gmail.com
> <mailto:marlongr...@gmail.com>> wrote:

>     I already downloaded it, it is super cool!!!!!!!!!!!!!!!!!!!!!!!!!

>     On Sat, May 24, 2008 at 12:59 AM, Corrado Cavalli
>     <corradocava...@gmail.com <mailto:corradocava...@gmail.com>> wrote:

>         While not strictly WPF related, found this interesting tool to
>         enforce code styling

http://blogs.msdn.com/sourceanalysis/archive/2008/05/23/announcing-th...
se-of-microsoft-source-analysis.aspx

>         HTH

>         Corrado

>     --
>     Regards
>     Marlon
>     Blog - http://marlongrech.wordpress.com/
>     WPF Controls Library - http://www.codeplex.com/avaloncontrolslib

--
Laurent Bugnion [Microsoft MVP, MCP]
Software engineering, Blog: http://www.galasoft.ch
PhotoAlbum: http://www.galasoft.ch/pictures
Support children in Calcutta: http://www.calcutta-espoir.ch


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Laurent Bugnion [MVP, MCP]  
View profile  
 More options May 30 2008, 4:11 pm
From: "Laurent Bugnion [MVP, MCP]" <laur...@galasoft.ch>
Date: Fri, 30 May 2008 22:11:39 +0200
Local: Fri, May 30 2008 4:11 pm
Subject: Re: Interesting tool
Not knowing stuff is OK as long as you're writing the book, but when
it's published, you're supposed to be knowing EVERYTHING. Shame on you,
grasshopper :)

Brennon Williams wrote:
> I am glad in a way that this is news to you guys as well...

> My first thought was... awesome.. I had no idea... but it really does make
> perfect sense and I cant believe I never tried it before...

> And my second was.. I am going to look like I have the IQ of a tennis ball
> for not knowing that ;-)

> One of things I enjoy so very much about this group (besides the excellent
> banter).. is the fact that these bits of information often escape my
> attention... and these are very important.

> I am in awe of the collective knowledge of all you guys..

> -----Original Message-----
> From: wpf-disciples@googlegroups.com [mailto:wpf-disciples@googlegroups.com]
> On Behalf Of Laurent Bugnion [MVP, MCP]
> Sent: 30 May 2008 19:05
> To: wpf-disciples@googlegroups.com
> Subject: Re: Interesting tool

> Wow I had no idea about that, and yet I consider myself a rather
> experienced C# developer. How interesting. Thanks Mike!!

> Mike Brown wrote:

>> I found how it relates to WPF.

> http://blogs.msdn.com/sourceanalysis/pages/sa1200-usingdirectivesmust...
> dwithinnamespace.aspx

>> If you place the using directive within your namespace declaration,
>> referenced assemblies won't be loaded until the class that uses them
>> are loaded. Placing them outside the namespace declaration means they
>> will be loaded the second the assembly is loaded. In most cases this
>> means that every assembly that your application references is being
>> loaded at start time. Simply moving your using directives inside of
>> your namespace declaration can impact your app startup time significantly!

>> On Fri, May 23, 2008 at 7:00 PM, Marlon Grech <marlongr...@gmail.com
>> <mailto:marlongr...@gmail.com>> wrote:

>>     I already downloaded it, it is super cool!!!!!!!!!!!!!!!!!!!!!!!!!

>>     On Sat, May 24, 2008 at 12:59 AM, Corrado Cavalli
>>     <corradocava...@gmail.com <mailto:corradocava...@gmail.com>> wrote:

>>         While not strictly WPF related, found this interesting tool to
>>         enforce code styling

> http://blogs.msdn.com/sourceanalysis/archive/2008/05/23/announcing-th...
> se-of-microsoft-source-analysis.aspx

>>         HTH

>>         Corrado

>>     --
>>     Regards
>>     Marlon
>>     Blog - http://marlongrech.wordpress.com/
>>     WPF Controls Library - http://www.codeplex.com/avaloncontrolslib

--
Laurent Bugnion [Microsoft MVP, MCP]
Software engineering, Blog: http://www.galasoft.ch
PhotoAlbum: http://www.galasoft.ch/pictures
Support children in Calcutta: http://www.calcutta-espoir.ch

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Brennon Williams  
View profile  
 More options May 30 2008, 4:13 pm
From: "Brennon Williams" <brennonwilli...@x-coders.com>
Date: Fri, 30 May 2008 21:13:53 +0100
Local: Fri, May 30 2008 4:13 pm
Subject: RE: Interesting tool

It's wicked isn't!

At the rate I am developing my MT device, I should have a commercial device
within the next 12-18 weeks.

That is a 42" multi-touch device, including a working WPF framework to boot!

The best part... the cost...

I will announce that a little later on.. but it will be quite affordable.

From: wpf-disciples@googlegroups.com [mailto:wpf-disciples@googlegroups.com]
On Behalf Of Karl Shifflett
Sent: 30 May 2008 21:02
To: wpf-disciples@googlegroups.com
Subject: RE: Interesting tool

Karl is SO juiced about multitouch!  I've got two of these machines.

From: wpf-disciples@googlegroups.com [mailto:wpf-disciples@googlegroups.com]
On Behalf Of Mike Brown
Sent: Friday, May 30, 2008 3:43 PM
To: wpf-disciples@googlegroups.com
Subject: Re: Interesting tool

Don't thank me yet...I haven't CONFIRMED an increase in app load time. I'm
just conjecturing that the two might be interrelated. Of course, it would
help if VS helped enforced that rule itself.

Speaking of cool tools have you guys looked at ESP
http://www.microsoft.com/esp

Also am I the only one excited about multitouch in Windows 7...I've GOTTA go
to PDC this year...just gotta.

On Fri, May 30, 2008 at 2:22 PM, Brennon Williams

<brennonwilli...@x-coders.com> wrote:

Excellent information here... thanks Mike for the tip and Corrado for raising
the tool.

From: wpf-disciples@googlegroups.com [mailto:wpf-disciples@googlegroups.com]
On Behalf Of Corrado Cavalli
Sent: 30 May 2008 17:12

To: wpf-disciples@googlegroups.com

Subject: RE: Interesting tool

Thanks Mike, very helpful!

Corrado

From: wpf-disciples@googlegroups.com [mailto:wpf-disciples@googlegroups.com]
On Behalf Of Mike Brown
Sent: venerdμ 30 maggio 2008 17:58
To: wpf-disciples@googlegroups.com
Subject: Re: Interesting tool

I found how it relates to WPF.

http://blogs.msdn.com/sourceanalysis/pages/sa1200-usingdirectivesmust...
dwithinnamespace.aspx

If you place the using directive within your namespace declaration,
referenced assemblies won't be loaded until the class that uses them are
loaded. Placing them outside the namespace declaration means they will be
loaded the second the assembly is loaded. In most cases this means that
every assembly that your application references is being loaded at start
time. Simply moving your using directives inside of your namespace
declaration can impact your app startup time significantly!

On Fri, May 23, 2008 at 7:00 PM, Marlon Grech <marlongr...@gmail.com> wrote:

I already downloaded it, it is super cool!!!!!!!!!!!!!!!!!!!!!!!!!

On Sat, May 24, 2008 at 12:59 AM, Corrado Cavalli <corradocava...@gmail.com>
wrote:

While not strictly WPF related, found this interesting tool to enforce code
styling

http://blogs.msdn.com/sourceanalysis/archive/2008/05/23/announcing-th...
se-of-microsoft-source-analysis.aspx

HTH

Corrado

--

Regards
Marlon
Blog - http://marlongrech.wordpress.com/
WPF Controls Library - http://www.codeplex.com/avaloncontrolslib

<br

<br


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Brennon Williams  
View profile  
 More options May 30 2008, 4:18 pm
From: "Brennon Williams" <brennonwilli...@x-coders.com>
Date: Fri, 30 May 2008 21:18:25 +0100
Local: Fri, May 30 2008 4:18 pm
Subject: RE: Interesting tool
Oh so true... thank god my book was not a dev book! ;-)
-----Original Message-----
From: wpf-disciples@googlegroups.com [mailto:wpf-disciples@googlegroups.com]

On Behalf Of Laurent Bugnion [MVP, MCP]
Sent: 30 May 2008 21:12
To: wpf-disciples@googlegroups.com
Subject: Re: Interesting tool

Not knowing stuff is OK as long as you're writing the book, but when
it's published, you're supposed to be knowing EVERYTHING. Shame on you,
grasshopper :)

Brennon Williams wrote:
> I am glad in a way that this is news to you guys as well...

> My first thought was... awesome.. I had no idea... but it really does make
> perfect sense and I cant believe I never tried it before...

> And my second was.. I am going to look like I have the IQ of a tennis ball
> for not knowing that ;-)

> One of things I enjoy so very much about this group (besides the excellent
> banter).. is the fact that these bits of information often escape my
> attention... and these are very important.

> I am in awe of the collective knowledge of all you guys..

> -----Original Message-----
> From: wpf-disciples@googlegroups.com
[mailto:wpf-disciples@googlegroups.com]
> On Behalf Of Laurent Bugnion [MVP, MCP]
> Sent: 30 May 2008 19:05
> To: wpf-disciples@googlegroups.com
> Subject: Re: Interesting tool

> Wow I had no idea about that, and yet I consider myself a rather
> experienced C# developer. How interesting. Thanks Mike!!

> Mike Brown wrote:

>> I found how it relates to WPF.

http://blogs.msdn.com/sourceanalysis/pages/sa1200-usingdirectivesmust...
> dwithinnamespace.aspx

>> If you place the using directive within your namespace declaration,
>> referenced assemblies won't be loaded until the class that uses them
>> are loaded. Placing them outside the namespace declaration means they
>> will be loaded the second the assembly is loaded. In most cases this
>> means that every assembly that your application references is being
>> loaded at start time. Simply moving your using directives inside of
>> your namespace declaration can impact your app startup time
significantly!

>> On Fri, May 23, 2008 at 7:00 PM, Marlon Grech <marlongr...@gmail.com
>> <mailto:marlongr...@gmail.com>> wrote:

>>     I already downloaded it, it is super cool!!!!!!!!!!!!!!!!!!!!!!!!!

>>     On Sat, May 24, 2008 at 12:59 AM, Corrado Cavalli
>>     <corradocava...@gmail.com <mailto:corradocava...@gmail.com>> wrote:

>>         While not strictly WPF related, found this interesting tool to
>>         enforce code styling

http://blogs.msdn.com/sourceanalysis/archive/2008/05/23/announcing-th...
> se-of-microsoft-source-analysis.aspx

>>         HTH

>>         Corrado

>>     --
>>     Regards
>>     Marlon
>>     Blog - http://marlongrech.wordpress.com/
>>     WPF Controls Library - http://www.codeplex.com/avaloncontrolslib

--
Laurent Bugnion [Microsoft MVP, MCP]
Software engineering, Blog: http://www.galasoft.ch
PhotoAlbum: http://www.galasoft.ch/pictures
Support children in Calcutta: http://www.calcutta-espoir.ch


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Brennon Williams  
View profile  
 More options May 30 2008, 4:27 pm
From: "Brennon Williams" <brennonwilli...@x-coders.com>
Date: Fri, 30 May 2008 21:27:07 +0100
Local: Fri, May 30 2008 4:27 pm
Subject: RE: Interesting tool

Hey Mike,

ESP is one of the most awesome simulation platforms I have ever seen, and I
will be "playing" with it for the next few months looking at integrating it
with the work I do here in the UK. We have a really high end strategy
platform (which was originally made for the McLaren F1 teams track strategy
requirements)

You can model nuclear war with it etc.. (so pretty hardcore)

This is the WPF UI I just implemented for the product..
http://www.smithbayes.com/whatwedo.html

If you find out any more interesting bits about it, I will be grateful to
hear it!

Cheers

From: wpf-disciples@googlegroups.com [mailto:wpf-disciples@googlegroups.com]
On Behalf Of Mike Brown
Sent: 30 May 2008 20:43
To: wpf-disciples@googlegroups.com
Subject: Re: Interesting tool

Don't thank me yet...I haven't CONFIRMED an increase in app load time. I'm
just conjecturing that the two might be interrelated. Of course, it would
help if VS helped enforced that rule itself.

Speaking of cool tools have you guys looked at ESP
http://www.microsoft.com/esp

Also am I the only one excited about multitouch in Windows 7...I've GOTTA go
to PDC this year...just gotta.

On Fri, May 30, 2008 at 2:22 PM, Brennon Williams

<brennonwilli...@x-coders.com> wrote:

Excellent information here... thanks Mike for the tip and Corrado for raising
the tool.

From: wpf-disciples@googlegroups.com [mailto:wpf-disciples@googlegroups.com]
On Behalf Of Corrado Cavalli
Sent: 30 May 2008 17:12

To: wpf-disciples@googlegroups.com

Subject: RE: Interesting tool

Thanks Mike, very helpful!

Corrado

From: wpf-disciples@googlegroups.com [mailto:wpf-disciples@googlegroups.com]
On Behalf Of Mike Brown
Sent: venerdμ 30 maggio 2008 17:58
To: wpf-disciples@googlegroups.com
Subject: Re: Interesting tool

I found how it relates to WPF.

http://blogs.msdn.com/sourceanalysis/pages/sa1200-usingdirectivesmust...
dwithinnamespace.aspx

If you place the using directive within your namespace declaration,
referenced assemblies won't be loaded until the class that uses them are
loaded. Placing them outside the namespace declaration means they will be
loaded the second the assembly is loaded. In most cases this means that
every assembly that your application references is being loaded at start
time. Simply moving your using directives inside of your namespace
declaration can impact your app startup time significantly!

On Fri, May 23, 2008 at 7:00 PM, Marlon Grech <marlongr...@gmail.com> wrote:

I already downloaded it, it is super cool!!!!!!!!!!!!!!!!!!!!!!!!!

On Sat, May 24, 2008 at 12:59 AM, Corrado Cavalli <corradocava...@gmail.com>
wrote:

While not strictly WPF related, found this interesting tool to enforce code
styling

http://blogs.msdn.com/sourceanalysis/archive/2008/05/23/announcing-th...
se-of-microsoft-source-analysis.aspx

HTH

Corrado

--

Regards
Marlon
Blog - http://marlongrech.wordpress.com/
WPF Controls Library - http://www.codeplex.com/avaloncontrolslib

<br

<br


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mike Brown  
View profile  
 More options May 30 2008, 6:40 pm
From: "Mike Brown" <mbrow...@gmail.com>
Date: Fri, 30 May 2008 18:40:54 -0400
Local: Fri, May 30 2008 6:40 pm
Subject: Re: Interesting tool

Whoa! That is friggin' awesome!

On Fri, May 30, 2008 at 4:27 PM, Brennon Williams <

brennonwilli...@x-coders.com> wrote:
>  Hey Mike,

> ESP is one of the most awesome simulation platforms I have ever seen, and I
> will be "playing" with it for the next few months looking at integrating it
> with the work I do here in the UK. We have a really high end strategy
> platform (which was originally made for the McLaren F1 teams track strategy
> requirements)

> You can model nuclear war with it etc.. (so pretty hardcore)

> This is the WPF UI I just implemented for the product..
> http://www.smithbayes.com/whatwedo.html

> If you find out any more interesting bits about it, I will be grateful to
> hear it!

> Cheers

> *From:* wpf-disciples@googlegroups.com [mailto:
> wpf-disciples@googlegroups.com] *On Behalf Of *Mike Brown
> *Sent:* 30 May 2008 20:43

> *To:* wpf-disciples@googlegroups.com
> *Subject:* Re: Interesting tool

> Don't thank me yet...I haven't CONFIRMED an increase in app load time. I'm
> just conjecturing that the two might be interrelated. Of course, it would
> help if VS helped enforced that rule itself.

> Speaking of cool tools have you guys looked at ESP
> http://www.microsoft.com/esp

> Also am I the only one excited about multitouch in Windows 7...I've GOTTA
> go to PDC this year...just gotta.

> On Fri, May 30, 2008 at 2:22 PM, Brennon Williams <
> brennonwilli...@x-coders.com> wrote:

> Excellent information here… thanks Mike for the tip and Corrado for raising
> the tool.

> *From:* wpf-disciples@googlegroups.com [mailto:
> wpf-disciples@googlegroups.com] *On Behalf Of *Corrado Cavalli
> *Sent:* 30 May 2008 17:12

> *To:* wpf-disciples@googlegroups.com

> *Subject:* RE: Interesting tool

> Thanks Mike, very helpful!

> Corrado

> *From:* wpf-disciples@googlegroups.com [mailto:
> wpf-disciples@googlegroups.com] *On Behalf Of *Mike Brown
> *Sent:* venerdμ 30 maggio 2008 17:58
> *To:* wpf-disciples@googlegroups.com
> *Subject:* Re: Interesting tool

> I found how it relates to WPF.

> http://blogs.msdn.com/sourceanalysis/pages/sa1200-usingdirectivesmust...

> If you place the using directive within your namespace declaration,
> referenced assemblies won't be loaded until the class that uses them are
> loaded. Placing them outside the namespace declaration means they will be
> loaded the second the assembly is loaded. In most cases this means that
> every assembly that your application references is being loaded at start
> time. Simply moving your using directives inside of your namespace
> declaration can impact your app startup time significantly!

> On Fri, May 23, 2008 at 7:00 PM, Marlon Grech <marlongr...@gmail.com>
> wrote:

> I already downloaded it, it is super cool!!!!!!!!!!!!!!!!!!!!!!!!!

> On Sat, May 24, 2008 at 12:59 AM, Corrado Cavalli <
> corradocava...@gmail.com> wrote:

> While not strictly WPF related, found this interesting tool to enforce code
> styling

> http://blogs.msdn.com/sourceanalysis/archive/2008/05/23/announcing-th...

> HTH

> Corrado

> --

> Regards
> Marlon
> Blog - http://marlongrech.wordpress.com/
> WPF Controls Library - http://www.codeplex.com/avaloncontrolslib

> <br

> <br


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
rudigrobler  
View profile  
 More options May 31 2008, 2:38 am
From: rudigrobler <rudi.grob...@gmail.com>
Date: Fri, 30 May 2008 23:38:58 -0700 (PDT)
Local: Sat, May 31 2008 2:38 am
Subject: Re: Interesting tool
hi Brennon...

That is one very cool UI! Now I have to get your book!

Cool stuff

Rudi


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Brennon Williams  
View profile  
 More options May 31 2008, 4:59 am
From: "Brennon Williams" <brennonwilli...@x-coders.com>
Date: Sat, 31 May 2008 09:59:28 +0100
Local: Sat, May 31 2008 4:59 am
Subject: RE: Interesting tool
Thanks guys!

I cant take all the credit though... I am working with an awesome team at
SmithBayes.. and the best part.. its really fun stuff...

Man I love my job!

Cheers

-----Original Message-----
From: wpf-disciples@googlegroups.com [mailto:wpf-disciples@googlegroups.com]

On Behalf Of rudigrobler
Sent: 31 May 2008 07:39
To: WPF Disciples
Subject: Re: Interesting tool

hi Brennon...

That is one very cool UI! Now I have to get your book!

Cool stuff

Rudi


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ian Griffiths  
View profile  
 More options Jun 3 2008, 5:30 pm
From: "Ian Griffiths" <i...@interact-sw.co.uk>
Date: Tue, 3 Jun 2008 22:30:14 +0100
Local: Tues, Jun 3 2008 5:30 pm
Subject: RE: Interesting tool

Sorry guys, but the assembly loading thing is just wrong.

The IL that the C# compiler generates is the same in either case. In
fact the C# compiler generates precisely nothing corresponding to each
using directive. Using directives are purely a C#ism, and they have no
meaning to .NET itself. (Not true for using statements but those are
something quite different.)

In IL, type names are fully qualified, so there's no use for a using
directive concept. (Actually, strictly speaking, in the raw binary of IL
type names are referenced by metadata tokens, which are indexes into the
metadata tables in the assembly. But the names in those tables are fully
qualified. Moreover, if you look at the IL source code format, types are
always fully qualified.)

The CLR doesn't actually have any intrinsic representation of a
namespace per se. There are no namespace tables in the metadata. You
can't ask an assembly for the list of namespaces it uses or defines. In
the CLR, namespaces are really just a type naming convention. C# happens
to offer some language support for this convention.

I just ran a couple of experiments to demonstrate that the claim in that
article is wrong.

First experiment: I put a 'using System.Xml.Linq;' into a file in a WPF
project that had a reference to the System.Xml.Linq assembly, but which
doesn't actually use that assembly. Running ILDASM on the output, I
could see that the presence of the using statement did not cause a
reference to the System.Xml.Linq assembly. The C# compiler trims down
the set of referenced assemblies only to those that you are really
making use of. The presence of a using directive is not sufficient to
count as "making use" - you actually have to write code that does
something with a type in that assembly.

Since a using directive on its own is not enough to cause the C#
compiler to emit an assembly reference, it's clearly not going to cause
it to load the assembly.

Second experiment: I added a method that actually makes use of
System.Xml.Linq, but only does so when a button click handler runs. My
goal here was to see when exactly the assembly does get loaded in the
case where it doesn't get completely eliminated by the compiler like it
did in the first experiment.

I've got System.Xml.Linq at file scope. And I've done this in my
codebehind:

public partial class Window1 : Window

{

    public Window1()

    {

        InitializeComponent();

        this.Loaded += new RoutedEventHandler(Window1_Loaded);

    }

    void Window1_Loaded(object sender, RoutedEventArgs e)

    {

        ShowAssemblies();

    }

    private static void ShowAssemblies()

    {

        var asmNames = from asm in
AppDomain.CurrentDomain.GetAssemblies()

                       select asm.GetName().Name + Environment.NewLine;

        MessageBox.Show(string.Concat(asmNames.ToArray()));

    }

    private void button1_Click(object sender, RoutedEventArgs e)

    {

        ShowAssemblies();

        UseLinq();

        ShowAssemblies();

    }

    private void UseLinq()

    {

        XDocument doc = new XDocument();

    }

}

 If that web site is correct, you would expect System.Xml.Linq to load
straight away. But when it runs, the assembly list shown by the Loaded
handler doesn't include that assembly. Nor is it present in directly
before the call to UseLinq. But directly after UseLinq returns, and the
assembly list is displayed for the 3rd time, only then does it include
System.Xml.Linq.

And my using statement is at file scope. Moving it changes nothing.

Running in the debugger messes this up by the way -the debugger appears
to pre-load all referenced assemblies. Again, this is unrelated to the
position of the using statement.

Running a Release build also changes things slightly. The UseLinq
function ends up getting inlined on release builds, so the
System.Xml.Linq assembly loads directly before the button click handler
runs for the first time. But it's still absent when the Loaded handler
runs, demonstrating that even in this case, it doesn't load at the same
time as everything else. And if you want to turn off inlining, you can
put this in front of the UseLinq definition:

[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServi
ces.MethodImplOptions.NoInlining)]

But however you slice it, the System.Xml.Linq assembly always loads some
time later than all the other assemblies, and it makes precisely no
difference whether the using directive is inside or outside the
namespace.

So I'm afraid whoever wrote that article didn't know what they were
talking about on point 2, and didn't bother to check their facts, sadly.

And while they carefully qualified their claim with disclaimer that
things change from one version of .NET to the next, I'm afraid in this
case that doesn't help - moving the using directives around doesn't
actually change anything, because as far as IL and the CLR is concerned,
it doesn't care where the thing goes. Using directives are purely a
C#ism, and have no bearing on the output of the compiler. (Unless of
course you contrive an example where moving the using directive actually
changes the meaning of the code. In that case you will of course get
different compiler output, but the fact remains that there's no way to
tell from the original IL which using directives went where, or indeed
whether the original source code didn't use using at all, and instead
did everything with fully-qualified type names. You just can't tell from
the compiler output.)

And that makes sense when you think about it - this has to be a source
analysis rule, because you couldn't possibly implement it as an
IL-driven FxCop rule. FxCop can only detect things that make a
difference to the compiler output.

So point 2 is invalid. I think point 3 is just point 1 restated for the
multiple namespace case... So there's really only one argument in that
page, and to be honest, I think it's kind of weak. It's true, but it
seems like a pretty contrived edge case. I know some people happen to
have a stylistic preference for the proposed style (e.g. Chris Anderson
prefers it). The argument seems a bit like a post-hoc justification for
a personal stylistic preference.

So all of you on this thread who "didn't know" about this were right all
along, because it turns out to be rubbish. Stick to your guns, and
construct experiments! :D

--

Ian Griffiths - professional pedant

From: wpf-disciples@googlegroups.com
[mailto:wpf-disciples@googlegroups.com] On Behalf Of Mike Brown
Sent: 30 May 2008 16:58
To: wpf-disciples@googlegroups.com
Subject: Re: Interesting tool

I found how it relates to WPF.

http://blogs.msdn.com/sourceanalysis/pages/sa1200-usingdirectivesmustbep
lacedwithinnamespace.aspx

If you place the using directive within your namespace declaration,
referenced assemblies won't be loaded until the class that uses them are
loaded. Placing them outside the namespace declaration means they will
be loaded the second the assembly is loaded. In most cases this means
that every assembly that your application references is being loaded at
start time. Simply moving your using directives inside of your namespace
declaration can impact your app startup time significantly!

On Fri, May 23, 2008 at 7:00 PM, Marlon Grech <marlongr...@gmail.com>
wrote:

I already downloaded it, it is super cool!!!!!!!!!!!!!!!!!!!!!!!!!

On Sat, May 24, 2008 at 12:59 AM, Corrado Cavalli

<corradocava...@gmail.com> wrote:

While not strictly WPF related, found this interesting tool to enforce
code styling

http://blogs.msdn.com/sourceanalysis/archive/2008/05/23/announcing-the-r
elease-of-microsoft-source-analysis.aspx

HTH

Corrado

--

Regards
Marlon
Blog - http://marlongrech.wordpress.com/
WPF Controls Library - http://www.codeplex.com/avaloncontrolslib

<br


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Marlon Grech  
View profile  
 More options Jun 3 2008, 5:57 pm
From: "Marlon Grech" <marlongr...@gmail.com>
Date: Tue, 3 Jun 2008 23:57:17 +0200
Local: Tues, Jun 3 2008 5:57 pm
Subject: Re: Interesting tool

Ian.... I just have 1 word... IMPRESSIVE.... I must admit I just fell in
love with you.... LOL (I hope that my wife does not see this email..... ow
shit I forgot this is public ... ha ha ha)

Very very good Ian :D

On Tue, Jun 3, 2008 at 11:30 PM, Ian Griffiths <i...@interact-sw.co.uk>
wrote:

>  Sorry guys, but the assembly loading thing is just wrong.

> The IL that the C# compiler generates is the same in either case. In fact
> the C# compiler generates precisely nothing corresponding to each using
> directive. Using directives are purely a C#ism, and they have no meaning to
> .NET itself. (Not true for using *statements* but those are something
> quite different.)

> In IL, type names are fully qualified, so there's no use for a using
> directive concept. (Actually, strictly speaking, in the raw binary of IL
> type names are referenced by metadata tokens, which are indexes into the
> metadata tables in the assembly. But the names in those tables are fully
> qualified. Moreover, if you look at the IL source code format, types are
> always fully qualified.)

> The CLR doesn't actually have any intrinsic representation of a namespace
> per se. There are no namespace tables in the metadata. You can't ask an
> assembly for the list of namespaces it uses or defines. In the CLR,
> namespaces are really just a type naming convention. C# happens to offer
> some language support for this convention.

> I just ran a couple of experiments to demonstrate that the claim in that
> article is wrong.

> First experiment: I put a 'using System.Xml.Linq;' into a file in a WPF
> project that had a reference to the System.Xml.Linq assembly, but which
> doesn't actually use that assembly. Running ILDASM on the output, I could
> see that the presence of the using statement did not cause a reference to
> the System.Xml.Linq assembly. The C# compiler trims down the set of
> referenced assemblies only to those that you are really making use of. The
> presence of a using directive is not sufficient to count as "making use" –
> you actually have to write code that does something with a type in that
> assembly.

> Since a using directive on its own is not enough to cause the C# compiler
> to emit an assembly reference, it's clearly not going to cause it to load
> the assembly.

> Second experiment: I added a method that actually makes use of
> System.Xml.Linq, but only does so when a button click handler runs. My goal
> here was to see when exactly the assembly does get loaded in the case where
> it doesn't get completely eliminated by the compiler like it did in the
> first experiment.

> I've got System.Xml.Linq at file scope. And I've done this in my
> codebehind:

> public partial class Window1 : Window

> {

>     public Window1()

>     {

>         InitializeComponent();

>         this.Loaded += new RoutedEventHandler(Window1_Loaded);

>     }

>     void Window1_Loaded(object sender, RoutedEventArgs e)

>     {

>         ShowAssemblies();

>     }

>     private static void ShowAssemblies()

>     {

>         var asmNames = from asm in AppDomain.CurrentDomain.GetAssemblies()

>                        select asm.GetName().Name + Environment.NewLine;

>         MessageBox.Show(string.Concat(asmNames.ToArray()));

>     }

>     private void button1_Click(object sender, RoutedEventArgs e)

>     {

>         ShowAssemblies();

>         UseLinq();

>         ShowAssemblies();

>     }

>     private void UseLinq()

>     {

>         XDocument doc = new XDocument();

>     }

> }

>  If that web site is correct, you would expect System.Xml.Linq to load
> straight away. But when it runs, the assembly list shown by the Loaded
> handler doesn't include that assembly. Nor is it present in directly before
> the call to UseLinq. But directly after UseLinq returns, and the assembly
> list is displayed for the 3rd time, only then does it include
> System.Xml.Linq.

> And my using statement is at file scope. Moving it changes nothing.

> Running in the debugger messes this up by the way –the debugger appears to
> pre-load all referenced assemblies. Again, this is unrelated to the position
> of the using statement.

> Running a Release build also changes things slightly. The UseLinq function
> ends up getting inlined on release builds, so the System.Xml.Linq assembly
> loads directly before the button click handler runs for the first time. But
> it's still absent when the Loaded handler runs, demonstrating that even in
> this case, it doesn't load at the same time as everything else. And if you
> want to turn off inlining, you can put this in front of the UseLinq
> definition:

>     [System.Runtime.CompilerServices.MethodImpl
> (System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]

> But however you slice it, the System.Xml.Linq assembly always loads some
> time later than all the other assemblies, and it makes precisely no
> difference whether the using directive is inside or outside the namespace.

> So I'm afraid whoever wrote that article didn't know what they were talking
> about on point 2, and didn't bother to check their facts, sadly.

> And while they carefully qualified their claim with disclaimer that things
> change from one version of .NET to the next, I'm afraid in this case that
> doesn't help – moving the using directives around doesn't actually change
> anything, because as far as IL and the CLR is concerned, it doesn't care
> where the thing goes. Using directives are purely a C#ism, and have no
> bearing on the output of the compiler. (Unless of course you contrive an
> example where moving the using directive actually changes the meaning of the
> code. In that case you will of course get different compiler output, but the
> fact remains that there's no way to tell from the original IL which using
> directives went where, or indeed whether the original source code didn't use
> using at all, and instead did everything with fully-qualified type names.
> You just can't tell from the compiler output.)

> And that makes sense when you think about it – this has to be a source
> analysis rule, because you couldn't possibly implement it as an IL-driven
> FxCop rule. FxCop can only detect things that make a difference to the
> compiler output.

> So point 2 is invalid. I think point 3 is just point 1 restated for the
> multiple namespace case... So there's really only one argument in that page,
> and to be honest, I think it's kind of weak. It's true, but it seems like a
> pretty contrived edge case. I know some people happen to have a stylistic
> preference for the proposed style (e.g. Chris Anderson prefers it). The
> argument seems a bit like a post-hoc justification for a personal stylistic
> preference.

> So all of you on this thread who "didn't know" about this were right all
> along, because it turns out to be rubbish. Stick to your guns, and construct
> experiments! :D

> --

> Ian Griffiths – professional pedant

> *From:* wpf-disciples@googlegroups.com [mailto:
> wpf-disciples@googlegroups.com] *On Behalf Of *Mike Brown
> *Sent:* 30 May 2008 16:58
> *To:* wpf-disciples@googlegroups.com
> *Subject:* Re: Interesting tool

> I found how it relates to WPF.

> http://blogs.msdn.com/sourceanalysis/pages/sa1200-usingdirectivesmust...

> If you place the using directive within your namespace declaration,
> referenced assemblies won't be loaded until the class that uses them are
> loaded. Placing them outside the namespace declaration means they will be
> loaded the second the assembly is loaded. In most cases this means that
> every assembly that your application references is being loaded at start
> time. Simply moving your using directives inside of your namespace
> declaration can impact your app startup time significantly!

> On Fri, May 23, 2008 at 7:00 PM, Marlon Grech <marlongr...@gmail.com>
> wrote:

> I already downloaded it, it is super cool!!!!!!!!!!!!!!!!!!!!!!!!!

> On Sat, May 24, 2008 at 12:59 AM, Corrado Cavalli <
> corradocava...@gmail.com> wrote:

> While not strictly WPF related, found this interesting tool to enforce code
> styling

> http://blogs.msdn.com/sourceanalysis/archive/2008/05/23/announcing-th...

> HTH

> Corrado

> --

> Regards
> Marlon
> Blog - http://marlongrech.wordpress.com/
> WPF Controls Library - http://www.codeplex.com/avaloncontrolslib

> <br

--
Regards
Marlon
WPF Blog - http://marlongrech.wordpress.com/
Other Blog - http://dotnetalgos.wordpress.com/

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mike Brown  
View profile  
 More options Jun 3 2008, 9:44 pm
From: "Mike Brown" <mbrow...@gmail.com>
Date: Tue, 3 Jun 2008 21:44:10 -0400
Local: Tues, Jun 3 2008 9:44 pm
Subject: Re: Interesting tool

It didn't sound right, but seeing that it came from MSFT...I took it at face
value. Like I said, I didn't test it myself, but it sounded like something
worth investigating. Sounds like it's a remnant from 1.0 or something.

On Tue, Jun 3, 2008 at 5:57 PM, Marlon Grech <marlongr...@gmail.com> wrote:
> Ian.... I just have 1 word... IMPRESSIVE.... I must admit I just fell in
> love with you.... LOL (I hope that my wife does not see this email..... ow
> shit I forgot this is public ... ha ha ha)

> Very very good Ian :D

> On Tue, Jun 3, 2008 at 11:30 PM, Ian Griffiths <i...@interact-sw.co.uk>
> wrote:

>>  Sorry guys, but the assembly loading thing is just wrong.

>> The IL that the C# compiler generates is the same in either case. In fact
>> the C# compiler generates precisely nothing corresponding to each using
>> directive. Using directives are purely a C#ism, and they have no meaning to
>> .NET itself. (Not true for using *statements* but those are something
>> quite different.)

>> In IL, type names are fully qualified, so there's no use for a using
>> directive concept. (Actually, strictly speaking, in the raw binary of IL
>> type names are referenced by metadata tokens, which are indexes into the
>> metadata tables in the assembly. But the names in those tables are fully
>> qualified. Moreover, if you look at the IL source code format, types are
>> always fully qualified.)

>> The CLR doesn't actually have any intrinsic representation of a namespace
>> per se. There are no namespace tables in the metadata. You can't ask an
>> assembly for the list of namespaces it uses or defines. In the CLR,
>> namespaces are really just a type naming convention. C# happens to offer
>> some language support for this convention.

>> I just ran a couple of experiments to demonstrate that the claim in that
>> article is wrong.

>> First experiment: I put a 'using System.Xml.Linq;' into a file in a WPF
>> project that had a reference to the System.Xml.Linq assembly, but which
>> doesn't actually use that assembly. Running ILDASM on the output, I could
>> see that the presence of the using statement did not cause a reference to
>> the System.Xml.Linq assembly. The C# compiler trims down the set of
>> referenced assemblies only to those that you are really making use of. The
>> presence of a using directive is not sufficient to count as "making use" –
>> you actually have to write code that does something with a type in that
>> assembly.

>> Since a using directive on its own is not enough to cause the C# compiler
>> to emit an assembly reference, it's clearly not going to cause it to load
>> the assembly.

>> Second experiment: I added a method that actually makes use of
>> System.Xml.Linq, but only does so when a button click handler runs. My goal
>> here was to see when exactly the assembly does get loaded in the case where
>> it doesn't get completely eliminated by the compiler like it did in the
>> first experiment.

>> I've got System.Xml.Linq at file scope. And I've done this in my
>> codebehind:

>> public partial class Window1 : Window

>> {

>>     public Window1()

>>     {

>>         InitializeComponent();

>>         this.Loaded += new RoutedEventHandler(Window1_Loaded);

>>     }

>>     void Window1_Loaded(object sender, RoutedEventArgs e)

>>     {

>>         ShowAssemblies();

>>     }

>>     private static void ShowAssemblies()

>>     {

>>         var asmNames = from asm in AppDomain
>> .CurrentDomain.GetAssemblies()

>>                        select asm.GetName().Name + Environment.NewLine;

>>         MessageBox.Show(string.Concat(asmNames.ToArray()));

>>     }

>>     private void button1_Click(object sender, RoutedEventArgs e)

>>     {

>>         ShowAssemblies();

>>         UseLinq();

>>         ShowAssemblies();

>>     }

>>     private void UseLinq()

>>     {

>>         XDocument doc = new XDocument();

>>     }

>> }

>>  If that web site is correct, you would expect System.Xml.Linq to load
>> straight away. But when it runs, the assembly list shown by the Loaded
>> handler doesn't include that assembly. Nor is it present in directly before
>> the call to UseLinq. But directly after UseLinq returns, and the assembly
>> list is displayed for the 3rd time, only then does it include
>> System.Xml.Linq.

>> And my using statement is at file scope. Moving it changes nothing.

>> Running in the debugger messes this up by the way –the debugger appears to
>> pre-load all referenced assemblies. Again, this is unrelated to the position
>> of the using statement.

>> Running a Release build also changes things slightly. The UseLinq function
>> ends up getting inlined on release builds, so the System.Xml.Linq assembly
>> loads directly before the button click handler runs for the first time. But
>> it's still absent when the Loaded handler runs, demonstrating that even in
>> this case, it doesn't load at the same time as everything else. And if you
>> want to turn off inlining, you can put this in front of the UseLinq
>> definition:

>>     [System.Runtime.CompilerServices.MethodImpl
>> (System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]

>> But however you slice it, the System.Xml.Linq assembly always loads some
>> time later than all the other assemblies, and it makes precisely no
>> difference whether the using directive is inside or outside the namespace.

>> So I'm afraid whoever wrote that article didn't know what they were
>> talking about on point 2, and didn't bother to check their facts, sadly.

>> And while they carefully qualified their claim with disclaimer that things
>> change from one version of .NET to the next, I'm afraid in this case that
>> doesn't help – moving the using directives around doesn't actually change
>> anything, because as far as IL and the CLR is concerned, it doesn't care
>> where the thing goes. Using directives are purely a C#ism, and have no
>> bearing on the output of the compiler. (Unless of course you contrive an
>> example where moving the using directive actually changes the meaning of the
>> code. In that case you will of course get different compiler output, but the
>> fact remains that there's no way to tell from the original IL which using
>> directives went where, or indeed whether the original source code didn't use
>> using at all, and instead did everything with fully-qualified type names.
>> You just can't tell from the compiler output.)

>> And that makes sense when you think about it – this has to be a source
>> analysis rule, because you couldn't possibly implement it as an IL-driven
>> FxCop rule. FxCop can only detect things that make a difference to the
>> compiler output.

>> So point 2 is invalid. I think point 3 is just point 1 restated for the
>> multiple namespace case... So there's really only one argument in that page,
>> and to be honest, I think it's kind of weak. It's true, but it seems like a
>> pretty contrived edge case. I know some people happen to have a stylistic
>> preference for the proposed style (e.g. Chris Anderson prefers it). The
>> argument seems a bit like a post-hoc justification for a personal stylistic
>> preference.

>> So all of you on this thread who "didn't know" about this were right all
>> along, because it turns out to be rubbish. Stick to your guns, and construct
>> experiments! :D

>> --

>> Ian Griffiths – professional pedant

>> *From:* wpf-disciples@googlegroups.com [mailto:
>> wpf-disciples@googlegroups.com] *On Behalf Of *Mike Brown
>> *Sent:* 30 May 2008 16:58
>> *To:* wpf-disciples@googlegroups.com
>> *Subject:* Re: Interesting tool

>> I found how it relates to WPF.

>> http://blogs.msdn.com/sourceanalysis/pages/sa1200-usingdirectivesmust...

>> If you place the using directive within your namespace declaration,
>> referenced assemblies won't be loaded until the class that uses them are
>> loaded. Placing them outside the namespace declaration means they will be
>> loaded the second the assembly is loaded. In most cases this means that
>> every assembly that your application references is being loaded at start
>> time. Simply moving your using directives inside of your namespace
>> declaration can impact your app startup time significantly!

>> On Fri, May 23, 2008 at 7:00 PM, Marlon Grech <marlongr...@gmail.com>
>> wrote:

>> I already downloaded it, it is super cool!!!!!!!!!!!!!!!!!!!!!!!!!

>> On Sat, May 24, 2008 at 12:59 AM, Corrado Cavalli <
>> corradocava...@gmail.com> wrote:

>> While not strictly WPF related, found this interesting tool to enforce
>> code styling

>> http://blogs.msdn.com/sourceanalysis/archive/2008/05/23/announcing-th...

>> HTH

>> Corrado

>> --

>> Regards
>> Marlon
>> Blog - http://marlongrech.wordpress.com/
>> WPF Controls Library - http://www.codeplex.com/avaloncontrolslib

>> <br

> --
> Regards
> Marlon
> WPF Blog - http://marlongrech.wordpress.com/
> Other Blog - http://dotnetalgos.wordpress.com/


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Josh Smith  
View profile  
 More options Jun 4 2008, 6:39 am
From: "Josh Smith" <flappleja...@gmail.com>
Date: Wed, 4 Jun 2008 06:39:25 -0400
Local: Wed, Jun 4 2008 6:39 am
Subject: Re: Interesting tool

Thanks for setting us straight Ian. :)

Josh

On Tue, Jun 3, 2008 at 5:30 PM, Ian Griffiths <i...@interact-sw.co.uk> wrote:
>  Sorry guys, but the assembly loading thing is just wrong.

> The IL that the C# compiler generates is the same in either case. In fact
> the C# compiler generates precisely nothing corresponding to each using
> directive. Using directives are purely a C#ism, and they have no meaning to
> .NET itself. (Not true for using *statements* but those are something
> quite different.)

> In IL, type names are fully qualified, so there's no use for a using
> directive concept. (Actually, strictly speaking, in the raw binary of IL
> type names are referenced by metadata tokens, which are indexes into the
> metadata tables in the assembly. But the names in those tables are fully
> qualified. Moreover, if you look at the IL source code format, types are
> always fully qualified.)

> The CLR doesn't actually have any intrinsic representation of a namespace
> per se. There are no namespace tables in the metadata. You can't ask an
> assembly for the list of namespaces it uses or defines. In the CLR,
> namespaces are really just a type naming convention. C# happens to offer
> some language support for this convention.

> I just ran a couple of experiments to demonstrate that the claim in that
> article is wrong.

> First experiment: I put a 'using System.Xml.Linq;' into a file in a WPF
> project that had a reference to the System.Xml.Linq assembly, but which
> doesn't actually use that assembly. Running ILDASM on the output, I could
> see that the presence of the using statement did not cause a reference to
> the System.Xml.Linq assembly. The C# compiler trims down the set of
> referenced assemblies only to those that you are really making use of. The
> presence of a using directive is not sufficient to count as "making use" –
> you actually have to write code that does something with a type in that
> assembly.

> Since a using directive on its own is not enough to cause the C# compiler
> to emit an assembly reference, it's clearly not going to cause it to load
> the assembly.

> Second experiment: I added a method that actually makes use of
> System.Xml.Linq, but only does so when a button click handler runs. My goal
> here was to see when exactly the assembly does get loaded in the case where
> it doesn't get completely eliminated by the compiler like it did in the
> first experiment.

> I've got System.Xml.Linq at file scope. And I've done this in my
> codebehind:

> public partial class Window1 : Window

> {

>     public Window1()

>     {

>         InitializeComponent();

>         this.Loaded += new RoutedEventHandler(Window1_Loaded);

>     }

>     void Window1_Loaded(object sender, RoutedEventArgs e)

>     {

>         ShowAssemblies();

>     }

>     private static void ShowAssemblies()

>     {

>         var asmNames = from asm in AppDomain.CurrentDomain.GetAssemblies()

>                        select asm.GetName().Name + Environment.NewLine;

>         MessageBox.Show(string.Concat(asmNames.ToArray()));

>     }

>     private void button1_Click(object sender, RoutedEventArgs e)

>     {

>         ShowAssemblies();

>         UseLinq();

>         ShowAssemblies();

>     }

>     private void UseLinq()

>     {

>         XDocument doc = new XDocument();

>     }

> }

>  If that web site is correct, you would expect System.Xml.Linq to load
> straight away. But when it runs, the assembly list shown by the Loaded
> handler doesn't include that assembly. Nor is it present in directly before
> the call to UseLinq. But directly after UseLinq returns, and the assembly
> list is displayed for the 3rd time, only then does it include
> System.Xml.Linq.

> And my using statement is at file scope. Moving it changes nothing.

> Running in the debugger messes this up by the way –the debugger appears to
> pre-load all referenced assemblies. Again, this is unrelated to the position
> of the using statement.

> Running a Release build also changes things slightly. The UseLinq function
> ends up getting inlined on release builds, so the System.Xml.Linq assembly
> loads directly before the button click handler runs for the first time. But
> it's still absent when the Loaded handler runs, demonstrating that even in
> this case, it doesn't load at the same time as everything else. And if you
> want to turn off inlining, you can put this in front of the UseLinq
> definition:

>     [System.Runtime.CompilerServices.MethodImpl
> (System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]

> But however you slice it, the System.Xml.Linq assembly always loads some
> time later than all the other assemblies, and it makes precisely no
> difference whether the using directive is inside or outside the namespace.

> So I'm afraid whoever wrote that article didn't know what they were talking
> about on point 2, and didn't bother to check their facts, sadly.

> And while they carefully qualified their claim with disclaimer that things
> change from one version of .NET to the next, I'm afraid in this case that
> doesn't help – moving the using directives around doesn't actually change
> anything, because as far as IL and the CLR is concerned, it doesn't care
> where the thing goes. Using directives are purely a C#ism, and have no
> bearing on the output of the compiler. (Unless of course you contrive an
> example where moving the using directive actually changes the meaning of the
> code. In that case you will of course get different compiler output, but the
> fact remains that there's no way to tell from the original IL which using
> directives went where, or indeed whether the original source code didn't use
> using at all, and instead did everything with fully-qualified type names.
> You just can't tell from the compiler output.)

> And that makes sense when you think about it – this has to be a source
> analysis rule, because you couldn't possibly implement it as an IL-driven
> FxCop rule. FxCop can only detect things that make a difference to the
> compiler output.

> So point 2 is invalid. I think point 3 is just point 1 restated for the
> multiple namespace case... So there's really only one argument in that page,
> and to be honest, I think it's kind of weak. It's true, but it seems like a
> pretty contrived edge case. I know some people happen to have a stylistic
> preference for the proposed style (e.g. Chris Anderson prefers it). The
> argument seems a bit like a post-hoc justification for a personal stylistic
> preference.

> So all of you on this thread who "didn't know" about this were right all
> along, because it turns out to be rubbish. Stick to your guns, and construct
> experiments! :D

> --

> Ian Griffiths – professional pedant

> *From:* wpf-disciples@googlegroups.com [mailto:
> wpf-disciples@googlegroups.com] *On Behalf Of *Mike Brown
> *Sent:* 30 May 2008 16:58
> *To:* wpf-disciples@googlegroups.com
> *Subject:* Re: Interesting tool

> I found how it relates to WPF.

> http://blogs.msdn.com/sourceanalysis/pages/sa1200-usingdirectivesmust...

> If you place the using directive within your namespace declaration,
> referenced assemblies won't be loaded until the class that uses them are
> loaded. Placing them outside the namespace declaration means they will be
> loaded the second the assembly is loaded. In most cases this means that
> every assembly that your application references is being loaded at start
> time. Simply moving your using directives inside of your namespace
> declaration can impact your app startup time significantly!

> On Fri, May 23, 2008 at 7:00 PM, Marlon Grech <marlongr...@gmail.com>
> wrote:

> I already downloaded it, it is super cool!!!!!!!!!!!!!!!!!!!!!!!!!

> On Sat, May 24, 2008 at 12:59 AM, Corrado Cavalli <
> corradocava...@gmail.com> wrote:

> While not strictly WPF related, found this interesting tool to enforce code
> styling

> http://blogs.msdn.com/sourceanalysis/archive/2008/05/23/announcing-th...

> HTH

> Corrado

> --

> Regards
> Marlon
> Blog - http://marlongrech.wordpress.com/
> WPF Controls Library - http://www.codeplex.com/avaloncontrolslib

> <br


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google