2010-11-12 11 views
12

什麼是我該怎麼用它做的爲什麼MVC3中的WebViewPage是抽象的?

public class ThemedViewPage<T> : WebViewPage<T> 
{ 
    public override void Execute() 
    { 

    } 
} 

點?我問,因爲我已經把它留空了,這個世界是一個好地方,一切似乎都行得通 - 只是更新我今天下午正在運行的一個演示,這是一個我很可能會問到的問題。

+5

這裏最好的解決方案是也宣告你的類爲抽象和*不*重寫exe​​cute()方法在所有。 – Eilon 2010-11-13 03:23:42

+0

好一點,再加上下面的答案是有道理的 – 2010-11-14 23:21:40

回答

11

剃鬚刀的工作原理是產生從基類繼承的類。它繼承的默認類是WebViewPage<T>。當你表達@inherits ThemedViewPage<Something>你告訴代碼生成器來創建一個類,然後從ThemedViewPage<Something>繼承。

你不會真的實現Execute方法,如剃刀解析器生成此方法。這是值得一讀Andrew Nurse's BlogBen @ BuildStarted's Blog,甚至my own,因爲我們一直在建設一個獨立的剃刀模板引擎最近的工作,所以需要學習這一切是如何工作的內部。

+0

酷 - 這對我來說不夠好,缺乏有關文件,但我想這個談話是最新的。 – 2010-11-12 13:21:48

+0

我需要在每個視圖中都@繼承嗎?它不是從_Layout繼承的嗎? – 2010-11-23 20:37:48

+1

四年後,但沒有,它不是從佈局繼承。 – Casey 2014-04-24 19:25:09

相關問題