C# Error CS0663 – ‘{0}’ cannot define an overloaded {1} that differs only on parameter modifiers ‘{2}’ and ‘{3}’

C# Error

CS0663 – ‘{0}’ cannot define an overloaded {1} that differs only on parameter modifiers ‘{2}’ and ‘{3}’

Reason for the Error & Solution

Cannot define overloaded methods that differ only on ref and out.

Methods that differ only on their use of , and on a parameter are not allowed.

The following sample generates CS0663:

// CS0663.cs  
class TestClass  
{  
   public static void Main()  
   {  
   }  
  
   public void Test(ref int i)  
   {  
   }  
  
   public void Test(out int i)   // CS0663  
   {  
   }  
}