49 lines
667 B
C#
Raw Normal View History

//
// This tests two uses of the `This' expression on structs; being used as an argument
// and being used implicitly.
//
struct T {
int val;
void one () {
//
// First test: Pass this as an argument.
//
two (this);
}
void two (T t) {
this = t;
}
void three (ref T t) {
two (t);
}
public override int GetHashCode () {
//
// Second test: do we correctly load this?
//
return val.GetHashCode();
}
public static int Main()
{
T t = new T ();
t.one ();
t.GetHashCode ();
return 0;
}
}