2015-11-12 55 views
1

有沒有辦法在重寫時在方法中出現一段代碼? 就像這樣:c#,VS讓一段代碼出現在派生類方法中,同時覆蓋

public class BaseClass 
    { 
     public abstract void SomeMethod() 
     { 
     //here want to place a piece of code which I want to use in derived class while overriding (for ex. try-catch block) 
     try 
     { 
     } 
     catch 
     { 
     } 

     } 
    } 

public class DerivedClass : BaseClass 
{ 
    public override void SomeMethod() 
    { 
     //here I would like for try-catch block to appear like informing me that it is the snippet which makes using of that method is better in this case 
    } 
} 

我不想跑從基類代碼。我只是希望被覆蓋的方法出現預先填充了基類的一些片段,例如通知我,這是使用該方法的片段在這種情況下更好:

例如,當我重寫方法通過IntelliSense在Visual Studio中,「throw new NotImplementedException();」文本出現在方法中。我的目標是展示一些其他代碼片段。

+0

不知道你在問什麼。你是否希望VS使用基類方法中的代碼自動填充重寫的方法?有點勝過壓倒一切。 – jready

+0

是的,就像這樣。 – DIN

+0

例如,當我通過IntelliSense在Visual Studio中重寫方法時,「throw new NotImplementedException();」文本出現在方法中。我的目標是展示一些其他代碼片段。 – DIN

回答

0

你不能做你所要求的,但有兩種方法可以做類似的事情。

首先是在你的類中聲明一個包含代碼的方法 - 你的方法調用一個然後繼續。

第二個是創建一個抽象類與抽象方法(或只是一個普通的類與空方法)。在抽象類中有一個包含所需代碼的方法,並在其中調用抽象方法。

您的新類需要實現該抽象方法,但其他代碼將在調用抽象方法之前和之後調用。

+0

非常感謝。我認爲這應該工作。正如我已經知道它有一個名稱的模板方法模式。 – DIN

相關問題