勘違い
msdnのコードを鵜呑みにしたのが失敗だった。
public override string ToString() { return( String.Format( "{0}/{1}", this.m_numerator, this.m_denominator ) ); }
上記をみて、string型を返すのにSystem.String型になっている。
こいつを改めてやれば動いた。
public override string ToString() { //return( String.Format( "{0}/{1}", this.m_numerator, this.m_denominator ) ); return ( string.Format( "{0}/{1}", this.m_numerator, this.m_denominator ) ); }