I use C# to test my VB.Net assemblies. So today I got this little errormessage when doing this.
Here is the VB.Net method.
''' <summary>
Public Sub SetFiberGroup(ByRef FiberGroup As FiberGroup)
_FiberGroup = FiberGroup
End Sub```
I don’t use ByRef all that often but this time it was needed.
And normally you would call this like this in VB.Net.
```vbnet
dim _FiberGroup as new FiberGroup
_obj.SetFiberGroup(_FiberGroup)```
Or something like that. No different then setting a ByVal parameter.
So I would expect C# to act the same. But it doesn’t.
C# needs the ref keyword. like this
```vbnet
var _FiberGroup = new FiberGroup();
_obj.SetFiberGroup(ref _FiberGroup);```
If you don’t use the ref keyword then you need to get this little gem of an error.
> Argument is ‘value’ while parameter is declared as ‘ref’
So the solution is simple and logical. But I just wrote this in case anybody else bumps into this because Google doesn’t seem to find that specific errormessage. Perhaps Yahoo will or Microsoft search but who uses those anymore.