2014-05-17 37 views
0

例如,在財務方面,有一個計算某些價值的公式。以下兩種方法具有相同的實現(公式),參數和返回類型。我只需要有一個功能。關於用多個名稱(同義詞)指向/檢測一個功能

public double FullPrice(/*params*/){ 
    //method implementation 
} 

public double DirtyPrice(/*same params*/){ 
    //same implementation 
} 

雖然一些業內人士指公式名稱FULLPRICE,一些人將其稱爲全價 - 代名詞本身。如果函數庫專注於各種不同的術語,那麼當DirtyPrice輸入時,我們如何讓C#intellisense引用FullPrice函數,反之亦然?

是否有可能或我是否要求一些不可能的,而不是浪費時間的問題?兩個不同的名字指向一個功能。它與代表有些相關還是完全是別的?

+2

'public double DirtyPrice(/ * params * /){return FullPrice(/ * params * /); }' –

+0

我仍然必須在我的代碼中實現這兩種方法,不是嗎? – bonCodigo

+1

實施?第一個委託給另一個,所以你只有一個實現。定義兩種方法?是的,但這就像你可以得到的那樣微不足道。沒有可能的語法糖會更短或更清晰。 –

回答

3

這是文檔的用途。您創建該庫後,您可以決定如何命名該方法。記載「全價」與別人稱之爲「髒價」是一回事。

如果你真的必須:

public double FullPrice(/*params*/) 
{ 
    return DirtyPrice(/*params*/); 
} 

但是,這將增加一個無用的方法,你的API,這可能會導致混亂,並會增加維護。

+0

+1 *但是這會給你的API添加一個無用的方法,這可能會導致混淆,並會增加維護* –

+0

@SriramSakthivel你可以指定它可以得到多麼無用嗎?以及什麼樣的混亂?像用戶對方法定義的* L3 *支持一樣?或者是其他東西? – bonCodigo

+2

@bonCodigo假設我知道這兩個術語,我知道'FullPrice'和'DirtyPrice'是相同的,但是我在api中看到了兩個不同的**方法,爲什麼有兩種方法我肯定會困惑呢?他們做什麼?它們有何不同?等等。最好有一個標準名稱的API,而不是基於少數人使用的名稱。 –

相關問題