11
したがって、最初のパラメータがデフォルト値を提供し、2番目のパラメータがparamsコレクションであるメソッドシグネチャを使用できることがわかります。オプションの引数のあとにParamsを付けます
私が見ることができないのは、実際には最初の引数のデフォルト値を使用する方法です。
これはすべて可能ですか?
例方法:
void WaitAllTasks(string message = "Running Task.WaitAll", params Task[] tasks);
私は、メソッドを呼び出すときに最初にメッセージパラメータを省略しようとしたとものparamsでは動作しません名前付きパラメータを、使用してみました。
コンパイルできますが、使用することはできますか?
反射についてはどうですか? – Servy
@Servy:いいえ、反映するにはすべての引数を指定する必要があります。 –
C#コンパイラは 'values:{10,20}'や 'values:(10,20)'を使うことはできません。私はかなり多くを検索し、あなたの方法が最良の方法であるように思えます。 – gdoron