G
Guest
I have two code snipets, one in VB and the other in C#. Why does the visual
basic example not change the structure member "x", but the C# code does? I
need the visual basic code to work as I am a visual basic coder, but I don't
know what is wrong. Is there a bug in visual basic.net? Please help!
'VB Code
Imports System
Imports System.Reflection
Structure Foo
Public x As Integer
End Structure
Class Test
Shared Sub Main()
Dim f As New Foo
f.x = 10
Dim fi As FieldInfo = GetType(Foo).GetField("x")
Dim o As Object = f
fi.SetValue(o, 3)
f = CType(o, Foo)
Console.WriteLine(f.x)
End Sub
End Class
//C#
using System;
using System.Reflection;
struct Foo
{
public int x;
}
Class Test
{
static void Main()
{
Foo f = new Foo();
f.x = 10;
FieldInfo fi = typeof(Foo).GetField("x");
object o = f;
fi.SetValue (o, 3);
f = (Foo)o;
Console.WriteLine (f.x);
}
}
basic example not change the structure member "x", but the C# code does? I
need the visual basic code to work as I am a visual basic coder, but I don't
know what is wrong. Is there a bug in visual basic.net? Please help!
'VB Code
Imports System
Imports System.Reflection
Structure Foo
Public x As Integer
End Structure
Class Test
Shared Sub Main()
Dim f As New Foo
f.x = 10
Dim fi As FieldInfo = GetType(Foo).GetField("x")
Dim o As Object = f
fi.SetValue(o, 3)
f = CType(o, Foo)
Console.WriteLine(f.x)
End Sub
End Class
//C#
using System;
using System.Reflection;
struct Foo
{
public int x;
}
Class Test
{
static void Main()
{
Foo f = new Foo();
f.x = 10;
FieldInfo fi = typeof(Foo).GetField("x");
object o = f;
fi.SetValue (o, 3);
f = (Foo)o;
Console.WriteLine (f.x);
}
}