I'm trying to use out parameters in a method as I need to return more than one value.

I use the following code to call the method - notice I declare the variables before:
Code:
        int NewTransactionID = 1;
        ArrayList basket;
        DateTime dateReceived;
        string tradeEmail;
        string tradeAddress;

        GetOrderDetails(NewTransactionID, dateReceived, basket, tradeEmail, tradeAddress);
The method has the format as follows:
Code:
void GetOrderDetails(int NewTransactionID, out DateTime dateReceived, out ArrayList basket, out string tradeEmail, out string tradeAddress) {
        basket = new ArrayList();
        dateReceived = DateTime.Now;
        tradeEmail = String.Empty;
        tradeAddress = String.Empty;

        //Stuff to populate basket omitted for clarity
}
All the out parameters are given a value before the end of the method but for some reason I get the following error:
The best overloaded method match for 'ASP.order_complete_aspx.GetOrderDetails(int, out System.DateTime, out System.Collections.ArrayList, out string, out string)' has some invalid arguments.

As far as I can see it is correct? Help!

DJ