ファンクションパラメータリストをタプルに戻したり戻したりする便利で標準的な方法はありますか?ファンクションパラメータリストをタプルにキャストする方法
.NETのどこかに存在するこの「キャスト」操作は、言語レベルではなく(「関数パラメータリスト」などのタイプがないため)、リフレクションを使用して実現する必要があります。前方のケースでは、タプルフィールドを含む後方のケースコール関数で、(関数名によって)正確なTypeのタプルを返します。
タプルに関数のパラメータリストをパッキング/アンパックするのと同じように機能します。
タプルと関数のパラメータが両方とも非同種のリストであり、これは非常に自然な操作なので、何らかの形で可能でなければなりません。
追加: はい、これは言語では不可能ですが、これはリフレクションとスタックブラウジングを使用して可能です。
void Foo(int a, bool b, string c)
{
Tuple<int,bool,string> argsTuple = pack();
} // ^^^^^^
:そのようなコードは、フレームワークに存在しない場合、私は、これはあなたがやりたいことならば、このようなことを行う世界でもそれらの5人:)
多分私はあなたが何について話しているか分からないので、私はばかです。 –
こんにちは、あなたはPythonのようなパラメータのパッキング/アンパックをしようとしていると思いますか?これはC#で(私が知る限り)ポーズできません。そしてC#では、コレクション(リスト)は同じ型からのものなので、同じコレクション(C#2.0)に別のデータ型を格納することはできません。 – SubniC