IFluentInterface not hiding methods

Topics: Enterprise Library Core, General discussion
Sep 28, 2010 at 8:32 AM

Hi!

I stumbled upon IFluentInterface while poking around the EntLib5 sources. It looks quite interesting but I never got the effects the documentation is promising. Neither in VS2008 nor in VS2010 (both with and without ReSharper installed) does it hide Equals, GetHashCode, GetType and ToString on my fluent interface objects. Instead Intellisense now gives me the method descriptions from IFluentInterface

Redeclaration that hides the <see cref="object.GetHashCode()"/> method from IntelliSense.

Is there some step I am missing?

Thanks for your help!

Sep 28, 2010 at 9:07 AM

I see what you mean.  It doesn't seem to take effect if it's in the same open solution.  If you make use of it outside the EntLib source code, those methods will be hidden. 

 

Sarah Urmeneta
Global Technology and Solutions
Avanade, Inc.
entlib.support@avanade.com

Sep 28, 2010 at 9:35 AM

Thanks for your reply. I found some explanations although I don't really see the rationale behind some of the arguments.

It might make sense to show hidden properties and methods while you are still in the same project. But I can't see why it should not work as expected when you add a "Project reference" instead of an "Assembly reference" in your client code.

Anyway. It seems to be this way by design and I don't really expect Microsoft to change VS just because I am complaining about yet another "feature".

Sep 28, 2010 at 11:18 PM

Visual Studio is what it is, and I highly doubt that any change in the Intellisense engine for this behavior would get done. Especially since the engine is different for each language, so it'd be at least 3x effort.

Also, if you have Resharper, it doesn't matter what you do, Resharper's intellisense engine always shows the object methods.