【发布时间】:2015-08-29 14:55:28
【问题描述】:
我在使用 Entity Framework 6 的 .NET MVC5 中有一个标准类堆栈:
MyController()
MyService() : ServiceBase()
ServiceBase() : IServiceBase
目前所有方法/类都是公开的。
ServiceBase() 包含泛型(T) 方法并被所有服务继承。
问题是MyController()可以直接调用ServiceBase()中的泛型方法。在传递给ServiceBase()之前,需要在实体上设置重要属性。
有没有办法从MyController() 中隐藏ServiceBase() 方法,强制MyController() 通过MyService() 而不是直接调用ServiceBase() 方法?
谢谢大家。
【问题讨论】:
-
你有什么理由不能让这些方法
protected? -
当我使它们受到保护时,我收到一条错误消息,指出非公共方法 UpdateEntity() 无法实现接口 IServiceBase 中的方法。并且接口定义上没有设置访问器。
-
贴出三个类的代码
标签: asp.net-mvc inheritance controller base-class service-layer