这是接口方法的两种实现,正如您所看到的,它们在这种情况下执行相同的操作 。
public override IList<IDatastoreRequestParameter> GetReadByOwnerIdParameters(int id) {
return new List<IDatastoreRequestParameter> {
new DatastoreRequestParameter("@CustomerId", id)
};
}
public override IList<IDatastoreRequestParameter> GetDeleteByOwnerIdParameters(int id) {
return new List<IDatastoreRequestParameter> {
new DatastoreRequestParameter("@CustomerId", id)
};
}
但是,由于我们在任何地方使用此接口,有时它们是相同的,但它们也可以在实现中返回不同的参数。我知道我可以创建一个私有方法来返回相同的东西,我只是好奇,看看它是否可能。我的直觉告诉我不,但是比我的直觉更聪明,所以我在这里。
答案 0 :(得分:4)
在调用两种不同的方法时,不能创建一个方法并告诉编译器/平台使用它。正如您所说,您可以创建一个处理案例并调用它的私有方法,但您必须单独在接口中实现这些方法。