Visual Studio 2012からref classはsealedでないとpublic:が使えなくなった。public:の代替としてinternal:を使うようだ。以前のコードをコンパイルしてわかった。