我有两种方法,一种带有参数,另一种没有参数。如果我在未指定任何参数的情况下调用该方法,则它的参数将完全相同。
采用以下示例:
public abstract class A<T>
{
public virtual T Get(int idEntity)
{
return this.DefaultRepository.Get(idEntity);
}
}
public class B<T> : A<T>
{
public override T Get(int idEntity)
{
this.DoSomeValidation();
var t = this.GetTheEntity();
return t;
}
public T Get(int idEntity,params sbyte[] accessModifiers)
{
this.DoOtherValidations(accessModifiers);
var t = this.GetTheEntity();
return t;
}
}
如果我在另一堂课中这样做:
public class Someclass
{
public void SomeMethod(int idT)
{
var x = new B();
var t = B.Get(idT);
}
}
然后调用方法public T Get(int idEntity,params sbyte[] accessModifiers)
,而不是public override T Get(int idEntity)
。我期望后者被称为,它比前者更具体,因为我没有指定任何“参数”。这是为什么?非常感谢。