假設下面的方法:哪個標識符變量最好作爲參數傳遞給方法?
public void ShareClassStuff(int shareClassId)
{
var shareClass = _shareClassService.GetShareClassById(shareClassId);
(if shareClass != null)
var shareClassStat = _shareClassService.GetShareClassStat(shareClass.Id);
//go on to do stuff with shareClass & shareClassStat
}
在這裏,我通過傳遞shareClassId到返回我需要對象服務得到了shareClass
。接下來,我必須傳遞一個Id到另一個方法來獲取一些不同的數據。
我的問題是,在第二次服務呼叫中,最好使用shareClassId
變量,例如,
GetShareClassStat(shareClassId)
或者shareClass對象的Id
屬性,例如,
GetShareClassStat(shareClass.Id)
還是它有問題?
我認爲可以安全地假設如果'shareClass'本身被傳遞,那麼該屬性仍然需要在被調用的方法中進行評估。 – 2011-03-18 16:48:30
@Jon:現在的問題是:我是否應該傳遞我已經擁有的ID並且知道與使用ID進行檢索的對象的Id屬性相同的值,還是應該轉身使用該屬性?很明顯,'GetShareClassStat'方法只是另一種從Id返回對象的查找方法。雖然你的答案很有用,但它似乎並不適用於這種情況。 – Tergiver 2011-03-18 17:14:32
我想我們需要知道更多以確定地說。我會說,如果你是對的,我的答案*是有用的,並且應該引導OP只傳入ID - 因爲這就是它在邏輯上應該依賴的一切。 – 2011-03-18 17:17:26