将来の.NETの新機能として検討されているのが型クラスだ。shapeと拡張の提案で“shapes”として言及されるように、これによって.NETジェネリクスの可能性は飛躍的に向上する。Mads Torgersen氏は型クラスについてこう述べる。 インターフェイスはオブジェクトのshapeと型のインスタンスである値を抽象化する。型クラスの背後にあるアイディアは本質的に、型のshapeを自身の代わりに抽象化することだ。さらに、あるインターフェイスを実装するという宣言を通じて型をオプトインする必要がある場合、他者が別のコードに型クラスを実装することが可能となる。 型クラスは、インターフェイスにまつわる長年の問題を解決する。インターフェイスは静的関数や演算子のオーバーロードを扱うことができない。これにより、全ての異なる数値型を計算するために同じ関数を数値計算ライブラリで何度も宣言しなければならない、
![.NETの将来: 型クラスと拡張](https://cdn-ak-scissors.b.st-hatena.com/image/square/57d685f804f2a1a4114eba535816a40a6936450b/height=288;version=1;width=512/https%3A%2F%2Fcdn.infoq.com%2Fstatics_s1_20240627113719%2Fstyles%2Fstatic%2Fimages%2Flogo%2Flogo-big.jpg)