![](/img/trans.png)
[英]C++: inherit from both base class and multiple interfaces with common base interface
[英]Interfaces that inherit from a base interface
我正在使用ASP.NET MVC 3和C#。 我有很多服務都有Init()方法。
所以,我想,繼承是我最好的朋友。 我試圖從其他接口繼承接口。
但是,我遇到了問題。
據我了解,一個接口可以從另一個接口繼承。 即,你可以這樣做:
public interface ICaseService : IBaseService
{
CaseViewModel ViewModel { get; }
Case Case { get; set; }
}
哪里:
public interface IBaseService
{
void Init();
}
因此,當我從ICaseService派生CaseService時,我將不得不實現Init()
方法以及Case
屬性和ViewModel
屬性。
可以說我現在有一個控制器,它引用了ICaseService:
private readonly ICaseService service;
在我的行動中,我認為我應該能夠做到:
public virtual ActionResult MyAction()
{
service.Init();
}
但是我收到一條錯誤消息,指出ICaseService
'不包含' Init()
的定義。
為什么?
我是否必須忘記從接口繼承接口,只需在每個接口定義中輸入Init()
方法?
以上是簡化的方案。 我的“基礎”接口包含的定義多於Init()。
在繼承鏈中,我做了許多愚蠢的事情,這里有太多太愚蠢的細節。 有效的一點是它有效,鏈條出了什么問題。
當我查閱MSDN時,沒有簡單的示例來說明這種簡單的技術來支持我的理解,更不用說任何關於這種繼承與接口的使用的真實文檔了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.