CからC#に移ったら継承でつまづきました。

class Class1
{
 public string x = "x";
 public string Get()
 {
  return x;
 }
}

class Class2 : Class1
{
 public string x = "y";
}

とすると、

Class2 class2 = new Class2();
MessageBox.Show("Get():" + class2.Get());
MessageBox.Show(".x :" +class2.x);

の結果が、
Get():x
.x :y
となります。Get():y となる様にするにはどうしたらよいでしょう?
継承したクラスの中のメソッドで継承元と違う値を使いたいのです。
virtual,override,newと試してみたのですが望む結果になりません。