From: Sandro M. <naa...@gm...> - 2006-08-14 20:39:29
|
C# supports a number of additional side-effects to method invocation than Java. The following method: string foo(string input, int param2) { ... } is implicitly: string foo(in int input, in int param2) { ... } The other variants are: string foo(ref int input, out int param2) { ... } "ref" is used to pass parameters by reference, ie. setting a ref parameter induces the local variable in the caller to be modified. "out" is similar to "ref", except that "out" parameters can be used with uninitialized variables in the caller, and they must be initialized by the called function ("foo" in this case). These semantics are difficult to support in a distributed context, but assuming it's worthwhile: these are "pass by reference" semantics, which implies that we must pass in a Link which is the "setter" for these variables. Any thoughts Tyler? Sandro |