You can create the Dictionary of that object and send the Dictionary object to you method and inside the method you can access the values from the Dictionary object
as below mentioned in the code
Dictionary<string,string> lstString = new Dictionary<string, string>();
lstString.Add( "DOC_no", "9EMP11ROUTE112102012_132143" );
lstString.Add( "date", "23/11/2012" );
//.... other values
//....
//....
Dictionary<string,string[]> lstStringArray = new Dictionary<string, string []>();
lstStringArray.Add( "pay_type ", new String [] { "Cash", "Credit" } );
lstStringArray.Add( "amt", new String [] { "100", "200" } );
//.... other values
//....
//....
//Now to get the value from dictionary in side your method pass the parameter and get the value
string DOC_no = null;
lstString.TryGetValue( "DOC_no", out DOC_no );
string[] pay_type = null;
lstStringArray.TryGetValue( "pay_type", out pay_type );