C#について、関数の仮引数で、タプルの分解がしたい


例として、関数fは

[code]

    int f ((int, string))
    
[/code]

のような型を持つとします。

実際に関数fを定義するとき、

[code]

    int f ((int x, string s) t) {
        return t.x;
    }
    
[/code]

のように、仮引数のタプルtは定義できます。

しかし、タプルtは大抵の場合、意味を持たず、名前が冗長になりがちです。  
なので、例えば、

[code]

    int f ((int x, string s)) {
        return x;
    }
    
[/code]

のように、関数fの仮引数でタプルの分解がしたいのですが、それは可能でしょうか？




C#7.3の時点ではできないようです。  
素直に関数内の先頭で下記のように書いて、分解する必要がありそうです。

[code]

    (int x, string s) = t;
    
[/code]




C#7.3の時点ではできないようです。  
素直に関数内の先頭で下記のように書いて、分解する必要がありそうです。

[code]

    (int x, string s) = t;
    
[/code]

