次のメソッド シグネチャを検討してください。
public static void WriteLine(string input, params object[] myObjects)
{
// Do stuff.
}
WriteLine メソッドの "myObjects" パラメーターが params キーワードを使用し、変数の引数を取ることができることを確認するにはどうすればよいですか?
次のメソッド シグネチャを検討してください。
public static void WriteLine(string input, params object[] myObjects)
{
// Do stuff.
}
WriteLine メソッドの "myObjects" パラメーターが params キーワードを使用し、変数の引数を取ることができることを確認するにはどうすればよいですか?
の存在を確認し[ParamArrayAttribute]
ます。
のパラメータparams
は常に最後のパラメータになります。
ParamArrayAttributeが適用されている場合は、 ParameterInfoを確認します。
static bool IsParams(ParameterInfo param)
{
return param.GetCustomAttributes(typeof (ParamArrayAttribute), false).Length > 0;
}
少し短くて読みやすい方法:
static bool IsParams(ParameterInfo param)
{
return param.IsDefined(typeof(ParamArrayAttribute), false);
}