C++/CLIでネイティブクラスで継承して中身をマネージで書けば良かろ
マネージ部分は抽象にして実装をC#に任せても良い