【发布时间】:2017-01-07 02:34:47
【问题描述】:
我有以下课程:
public class BaseRepository
{
public virtual void Delete(int id)
{
Console.WriteLine("Delete by id in BaseRepository");
}
}
public class EFRepository: BaseRepository
{
public override void Delete(int id)
{
Console.WriteLine("Delete by Id in EFRepository");
}
public void Delete(object entity)
{
Console.WriteLine("Delete by entity in EFRepository");
}
}
然后我像这样使用它:
var repository = new EFRepository();
int id = 1;
repository.Delete(id);
为什么在这种情况下只有EFRepository.Delete(object entity) 会打电话?
【问题讨论】:
-
object 可以容纳一个 int。
-
@TravisJ 我很清楚,但问题有点不同
标签: c# inheritance overloading