2015-08-14 50 views
0

我需要將超過10個參數從一種方法傳遞到另一種方法,所有參數都是不同的類型。如何將超過10個參數從一種方法傳遞到另一種方法

如果我將它們作爲參數傳遞,它看起來不太好。

+6

發送一個對象。 – user1666620

+1

將對象(類)中的類似參數組合在一起,然後發送給 – Milen

+3

,如果您有+10參數的函數調用,那麼您可能需要重構代碼並創建更多函數。更精確地說明你的當前用例,並在需要幫助時顯示一些代碼 – Eloims

回答

3

創建一類像下面:

public class ParamObject 
{ 
    public string Blah1 { get; set; } 
    public DateTime Blah2 { get; set; } 
} 

並創建實例,並在您的方法來使用它。

public void DoStuff (ParamObject uglyRecord) 
{ 
    //do stuff... 
} 

public void CallStuff() 
{ 
    ParamObject uglyRecord = new ParamObject(); 
    uglyRecord.Blah1 = "things"; 
    uglyRecord.Blah2 = DateTime.Now(); 

    DoStuff(uglyRecord); 
} 

然而,接受大量的參數或複雜對象的方法可能是一個跡象,表明該方法是做太多,需要重構爲幾個更小更簡單的方法。

相關問題