views:

230

answers:

1

After installing SP1 of Visual Studio 2008, code completion shows all types when an object member shows the parameter list. Before SP1, parameter list would only show related types.

Take a look at this image for an example: http://img25.imageshack.us/img25/3484/vs2008sp1intellisense.png

Has any one else had this problem? Solutions?

This happens on a Windows 7 and Windows XP machines I have, all services packs installed.

Thanks Javier Soques

+1  A: 

This isn't related to the service pack. I've verified the same behavior on an RTM version of Visual Studio 2008.

What you're seeing here is an issue of overload resolution. In the particular example you are using the MessageBox.Show method which has 21 overloads.

With no arguments and just MessageBox.Show( typed in the editor it's ambiguous as to which version you will be calling. So instead of showing specific types, it will show the completion list for all expression types.

Once the overload is not ambiguous it will show the specific type list. For instance if you type

MessageBox.Show("foo","bar",

It will show only the button enumeration completion.

JaredPar
It's frustrating that behavior. I don't recall seeing that behavior in VS2005. Thanks anyway.
jsoques
@jsoque, you should accept this answer.
Arnis L.