For each parameter of a Slice operation, the C# mapping generates a corresponding parameter for the corresponding method in the
<interface‑name>Operations_ interface. In addition, every operation has an additional, trailing parameter of type
Ice.Current. For example, the
name operation of the
Node interface has no parameters, but the
name method of the
NodeOperations_ interface has a single parameter of type
Ice.Current. We explain the purpose of this parameter in
Section 28.6 and will ignore it for now.
This code is in no way different from what you would normally write if you were to pass strings to and from a method; the fact that remote procedure calls are involved does not affect your code in any way. The same is true for parameters of other types, such as proxies, classes, or dictionaries: the parameter passing conventions follow normal C# rules and do not require special-purpose API calls.