Рассмотрим код
public class Base
{
public virtual int Add(int a,int b)
{
return a+b;
}
}
public class Derived:Base
{
public override int Add(int a,int b)
{
return a+b;
}
public int Add(float a,float b)
{
return (Int32)(a + b);
}
}
Если я создаю экземпляр класса Derived и вызываю Add с параметрами типа int, то почему он вызывает метод Add с параметрами float
Derived obj =new Derived()
obj.Add(3,5)
// why this is calling
Add(float a,float b)
Почему он не вызывает более специфический метод?