Shannon,
In addition to the other comments (especially Nick's):
Insert is using ByRef, Do you really need ByRef here? Probably not.
ByVal & ByRef Parameters are independent of Reference & Value Types. All
parameters in VB.NET by default are passed ByVal, you should only pass a
parameter ByRef when you have to, which is when you need to modify the
callers variable.
A Reference Type is an object that exists on the heap. If I have a variable
that is a reference type and assign the variable to another variable. Both
variables will be pointing to the same object on the heap.
Dim x As Person
x = New Person()
Dim y As Person
y = x
Both x & y are the exact same Person object on the heap.
A Value Type does not live on the Heap. If I have a value type variable and
I assign it to another variable, a copy of the value is made.
Dim x As Integer
x = 100
Dim y As Integer
y = x
Although both x & y have the value 100, they are physically different values
as a copy was made.
Now when you pass a variable to a ByVal parameter a copy of the variable is
made. So for a Reference Type a copy of the reference is made, which means
there is still only one object on the heap & two references to that object.
For a Value Type a copy of the value is made.
When you pass a variable to a ByRef parameter a reference to that variable
is made. So for a Reference Type you have a reference to a reference to the
object, for a Value Type you have a reference to the value.
Remember ByVal & ByRef are how parameters are passed. Reference & Value
Types are how quantities are stored.
The following site also does a good job of explaining Reference & Value
types & ByRef & ByVal parameters.
http://www.yoda.arachsys.com/csharp/parameters.html
Hope this helps
Jay
"Shannon Richards" <sr**********@h otmail.com> wrote in message
news:OS******** ******@TK2MSFTN GP11.phx.gbl...
Here's what's really happening:
lo_Gateway.Inse rt(ByRef ao_Object As Object) - takes an argument of type
object.
Since all reference types derive from object in .Net why is the compiler
giving this error? Income is an Object...