---------- public string Set(string sError) { return Set(enumZReturnNo.Fail, sError); } public string Set(string sFormat, params object[] poa) { return Set(string.Format(sFormat, poa)); } ---------- public void SetFail(string sMessage) { msMsg = sMessage; mbOK = false; mdTime = DateTime.Now; } public void SetFail(string sFormat, params object[] poa) { msMsg = string.Format(sFormat, poa); mbOK = false; mdTime = DateTime.Now; } ---------- see also: Method Parameters: params, ref, out ---------- code: // cs_params.cs using System; public class MyClass { public static void UseParams(params int[] list) { for (int i = 0 ; i < list.Length; i++) { Console.WriteLine(list[i]); } Console.WriteLine(); } public static void UseParams2(params object[] list) { for (int i = 0 ; i < list.Length; i++) { Console.WriteLine(list[i]); } Console.WriteLine(); } static void Main() { UseParams(1, 2, 3); UseParams2(1, 'a', "test"); // An array of objects can also be passed, as long as // the array type matches the method being called. int[] myarray = new int[3] {10,11,12}; UseParams(myarray); } } output: 1 2 3 1 a test 10 11 12