再現出来た
class Program{
 static void Main(string[] args){
  IMsg c1 = new Class1(5, 6);
  foreach (var p in c1.GetType().GetProperties()){
   Console.WriteLine(p.GetValue(c1));
  }
  Console.ReadLine();
 }
}
class Class1 : IMsg{
 public Class1(int n, int m){
  this.Goukei = n + m;
 }
 public int Goukei { get; set; }
 public void Message(){
  Console.WriteLine("aho");
 }
}
interface IMsg{
 void Message();
}

なぜこれでインターフェースにないプロパティが取得できるんだろう