C#接口具有相同的方法名称
发布时间:2020-12-15 08:26:22 所属栏目:百科 来源:网络整理
导读:我不知道我想做什么是不可能的:或者我没有以正确的方式思考它. 我正在尝试构建一个存储库接口类,它接受泛型类型并将其用作大多数方法返回的基础,即: public interface IRepositoryT { void Add(T source); T Find(int id);} 然后,这将由实际的存储库类继承
我不知道我想做什么是不可能的:或者我没有以正确的方式思考它.
我正在尝试构建一个存储库接口类,它接受泛型类型并将其用作大多数方法返回的基础,即: public interface IRepository<T> { void Add(T source); T Find(int id); } 然后,这将由实际的存储库类继承,如下所示: public class TestClientRepository : IRepository<ClientEmailAddress>,IRepository<ClientAccount> { } 例如,我想在ClientRepository中对几种不同的对象类型(ClientAccount,ClientEmailAddress等)执行操作;但总的来说,所需的操作类型都是一样的. 当我尝试使用TestClientRepository时(??在显式实现Interfaces之后),我看不到多个Find和Add方法. 有人可以帮忙吗? 解决方法
当然 – 您所要做的就是将它用作适当的界面:
TestClientRepository repo = new TestClientRepository(); IRepository<ClientEmailAddress> addrRepo = repo; ClientEmailAddress address = addrRepo.Find(10); IRepository<ClientAccount> accountRepo = repo; ClientAccount accoutn = accountRepo.Find(5); 基本上显式实现的接口方法只能在接口类型的表达式上调用,而不能在实现接口的具体类型上调用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |