C# 7.0 Local function 解決一個私有方法不知道怎麼擺比較對

一個class一堆public Metohd、private Metohd有一些private Method不知道怎麼放順序,有時候會想讓他靠近呼叫它的Method...

前言

以前會有潔癖想要整理一堆private跟public Method方法的關係(我不知道這樣對不對),不過現在比較少潔癖了,當時會想要把private跟public Method的方法放近一點,尤其是只有被某個public調用的,其餘多個共用的就會擺在最下面。

所以看到Local function又高....興了起來

準備一下

要去弄到C# 7.0

案例

現在例如:

public int GetSum(int number)
{
    var temp = CalculateTemp(number);

    return temp.numberx2 + temp.numberx3 + temp.numberx4;
}

//Tuples C# 7.1 的寫法
private (int numberx2, int numberx3, int numberx4) CalculateTemp(int calculateNumber)
{
    return (number * 2, number * 3, number * 4);
}

 

未來可能想要這樣做

public int GetSum(int number)
{
    var temp = CalculateTemp(number);

    return temp.numberx2 + temp.numberx3 + temp.numberx4;

    //Tuples C# 7.0 的寫法+Local function
    (int numberx2, int numberx3, int numberx4) CalculateTemp(int calculateNumber)
    {
        return (number * 2, number * 3, number * 4);
    }
}

 

結語

1.被很多public Method共用的private Method放在外面

2.單一調用的private Method用Local function方法寫在一起

這樣好像解決一堆東西散在class,讓class在瀏覽時好像比較舒服一點,但是如果要找現有class是不是有類似的private方法的時候會不會比較難找一點?

 

參考

C# 7.0 新功能介紹​

系列文章

C# 7.0 Tuples解決多回傳值及建立class的困擾