>>But unless the called method needs to access existing values using 'ref' is a waste of bandwidth.
>
>Hadn't thought about that but with and empty varchar going in for an errormessage are we really talking about a lot of bandwidth?
In that instance - No. But still unnecessary. But if, for example, the parameter is a large object which needs to be marshalled then it is more significant.
I'd argue that, just from a best-practice POV, if the called method doesn't require the parameter to be passed in then 'out' is best.
>
>>
>>>Sorry not time to read the thread right now but the first time I looked at using out params I ultimately smacked my head and realized I'd forgotten I could pass in by reference.
>>>
>>>>Hi,
>>>>
>>>>I'm trying to adjust a method so I can get two bits of information out of it. Previously I was just returning an error code, now I would like to return an error message along with the code. I found one way to do this is to use out parameters, so I adjusted my methods definition to this:
>>>>
>>>>
public void SendEmails(Guid emailPK, string subject, string html, out int errorCode, out string errorMessage)
>>>>
>>>>When I try calling this method like this:
>>>>
>>>>
int errorCode;
>>>>string errorMessage;
>>>>emailNotifications.SendEmails(emailPK, email.blk_subject, email.blk_html, out errorCode, out errorMessage);
>>>>
>>>>I get this error:
>>>>
>>>>"No overload for method 'SendEmails' takes 5 arguments"
>>>>
>>>>Maybe it's too early in th emorning for me but I think I'm counting correctly.
>>>>
>>>>Can anybody help enlighten me, please?