Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

37 lines
731 B
C#

using System;
using System.Reflection;
class T {
int v;
int a;
public T () {
v = 1;
// note: a not modified
}
static int Main () {
Type t = typeof (T);
T obj = new T ();
MethodBase m1;
Console.WriteLine ("after ctor a is {0}", obj.a);
Console.WriteLine ("after ctor v is {0}", obj.v);
obj.a = 2;
obj.v = 5;
Console.WriteLine ("a is {0}", obj.a);
Console.WriteLine ("v is {0}", obj.v);
m1 = t.GetConstructor (Type.EmptyTypes);
m1.Invoke (obj, null);
Console.WriteLine ("after reinit a is {0}", obj.a);
Console.WriteLine ("after reinit v is {0}", obj.v);
/* value not preserved */
if (obj.a != 2)
return 1;
/* value not reinitialized */
if (obj.v != 1)
return 2;
return 0;
}
}