The ECMA C# specification says that you can overload based on ref/out parameters. Eg 10.6
interface ITest { void F(ref int x); void F(out int x); } The Microsoft C# compiler used to allow this overload but now it doesn't. Does anyone know why Microsoft made it illegal? If there is a good reason (possibly related to the CLR) then perhaps the change should be made to the ECMA document too. Thanks Jon Jagger You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.