クラスの継承は消せるか

 クラスの継承は危険そのものなのでなくてもいいように思うが、型引数が長くなりすぎて可読性もへったくれもなくなったジェネリッククラスに名前をつけるのに今のところ必要だ。delegateもFunc<T1,T2,TR>とかでいいじゃんと思うかもしれないが、名前をつけないと型引数が長くなりすぎて読めなくなるケースが存在するので必要だ。ただメソッドの引数にするにはFuncとかにしないと何を入れればいいのか分からなくなる。

 あとリフレクションでTypeをとってきてActivator.CreateInstanceすれば即メソッドが呼び出せるようにするためと(別に名前のルールを決めてもいいんだが)、クロージャで暗黙に作られるクラスがシリアライズできない(すべきでもない)ため、抽象メソッドを含むクラスをシリアライズするために必要だ。