考慮這種情況下,有一個基類我們可以在控制器中使用虛擬操作項嗎?
public abstract class BaseController:Controller
{
public virtual ActionResult Index() => View();
}
顯然我們不能有由於它是抽象的視圖基類。下面是派生類:
public class MyController: BaseController
{
// everything but no Index()
}
public class AnotherController:BaseController
{
// again all except Index()
}
- 如果我們打個電話http://loclhost:666/My/Index派生類 控制器,但基類指數,將它正確使用視圖派生類的 ?
- 如果這是不可能的,那麼我們如何解決它,同時避免 重複所有具體控制器類的Index()?
我可能無法正確理解問題,但;你可以使'Index'方法摘要:'public abstract ActionResult Index();'所以派生類必須實現它。 –
你的僞代碼在派生控制器中說:「一切都沒有Index()」,但是你說「但派生類有索引視圖定義」 - 這有點令人困惑?我認爲從你的問題,你的意見在僞代碼是錯誤的,但這將是很好的澄清或更正... – Chris
也難道你不是很容易測試如何工作?寫一些適當的控制器,寫一些測試視圖,運行它,看看會發生什麼...這是一個有趣的問題,但我一定會保留它並提交一個答案,但它只是讓我覺得你可以很容易地測試它... – Chris