dotgnu-pnet
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: RE : RE : RE : [Pnet-developers] System.NotImplementedException when


From: Rhys Weatherley
Subject: Re: RE : RE : RE : [Pnet-developers] System.NotImplementedException when implementing Environment.GetSpecialFolder
Date: Thu, 24 Jul 2003 09:34:34 +1000
User-agent: KMail/1.4.3

On Thursday 24 July 2003 05:45 am, Gopal V wrote:
> If memory serves me right, Yannis BRES wrote:
> > > release dates . So I hope you won't mine me juggling with
> > > your functions , names etc... keeping the logic the same ?
> >
> >      Actually, I planned to tell you that this code would probably need
> > some reordering in order to fit your standards, but I didn't have time. 
> > So I guess I don't mind ;-)
>
> K, I will commit this with re-ordering but only after the next
> release as this sounds too much like a failure point :) .. Is that
> ok with you ?... too many #ifdef's needed .

The code is OK, modulo cleanups and moving to "pnet/support".

However, I was unable to find any mention of "SHGetFolderPath" in the MSVC 
documentation.  What .dll does it come from?  I did find a 
"SHGetSpecialFolderPath" function.  Since this function is *way* outside the 
core Win32 .dll's, it makes me a little uneasy about using it.

> >      Still by the way, isn't there somewhere a shared empty string ? 
> > There is one in System.String.Empty.  This wouldn't be a huge speed-up,
> > but why loosing time in allocating memory and adding another reference
> > for the GC to manage for such things ?
>
> Hmmm... I really don't know how modifying the return value might affect
> the original (if it won't then there's already a copy being made ;-)

Just return null to the C# layer and do "if(value == null) return 
String.Empty".  You'll get the shared string that way.  In any case, since 
portable programs should *not* be using "GetFolderPath", the impact of extra 
string copies should be minimal.

Cheers,

Rhys.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]