Automatic type conversions can affect overloaded method resolution: byte : Method Overload « Class « C# / CSharp Tutorial






using System; 
 
class Overload2 { 
  public void f(byte x) { 
    Console.WriteLine("Inside f(byte): " + x); 
  } 
 
  public void f(int x) { 
    Console.WriteLine("Inside f(int): " + x); 
  } 
 
  public void f(double x) { 
    Console.WriteLine("Inside f(double): " + x); 
  } 
} 
 
class TypeConv { 
  public static void Main() { 
    Overload2 ob = new Overload2(); 
 
    int i = 10; 
    double d = 10.1; 
 
    byte b = 99; 
    short s = 10; 
    float f = 11.5F; 
 
 
    ob.f(i); // calls ob.f(int) 
    ob.f(d); // calls ob.f(double) 
 
    ob.f(b); // calls ob.f(byte) -- now, no type conversion 
 
    ob.f(s); // calls ob.f(int) -- type conversion 
    ob.f(f); // calls ob.f(double) -- type conversion 
  } 
}
Inside f(int): 10
Inside f(double): 10.1
Inside f(byte): 99
Inside f(int): 10
Inside f(double): 11.5








7.8.Method Overload
7.8.1.Method Overloading
7.8.2.Demonstrate method overloading: different number of parameters
7.8.3.Automatic type conversions can affect overloaded method resolution: int, double
7.8.4.Automatic type conversions can affect overloaded method resolution: byte
7.8.5.Overloaded constructors
7.8.6.Overriding a method.