2016-11-18 70 views
3

有什麼方法可以實現抽象類,並用方法改變方法模板?事情是這樣的:使用註釋塊更改工具抽象類模板

public abstract class A { 

    /// <template> 
    /// return string.Empty; 
    /// </template> 
    abstract public string getSomething(); 
} 

所以,當你「實現抽象類」與Visual Studio你返回一個空字符串的方法,而不是拋出一個NotImplementedException的方法。

public class B : A { 

    public string getSomething() { 
     return string.Empty; 
    } 

} 

我不想改變IDE的模板,因爲不是所有的方法都必須返回相同的

+0

不是確切的答案,但你可以用你需要的模板創建片段,而不是讓VS自動創建抽象成員,你可以使用這些模板來實現它們。 – Gusman

+5

如果你想提供一個默認實現,爲什麼不使用'virtual'方法而不是'abstract'方法? – David

+0

@大衛這就是爲什麼在評論中沒有實現「模板」。我不知道這個虛擬存在。謝謝,抱歉! – Pythonizo

回答

1

你可以使用虛擬方法,允許默認實現,你可以在派生類中重寫。

public abstract class A { 
    //virtual provides default implementation 
    public virtual string getSomething() { 
     return string.Empty; 
    } 

} 

public class B : A { 
    //no need to implement getSomething() it will default to base class (string.Empty) 
} 

public class C : A { 
    //we can override the default implementation of getSomething() 
    public override string getSomething() { 
     return "Not empty!"; 
    } 
}