私は Web を検索し、ジェネリック クラスを作成するときに where 句を使用する例をいくつか用意しました。
誰かがまともな例を指摘できるでしょうか。
実際の使用法は、インスタンスを自分で作成せずに、(たとえば) インターフェイスから派生した特定の型を使用する場合です。
例:
class FooReader<T> where T : IFoo, new()
{
public int Read()
{
var foo = new T();
return foo.Read();
}
}
class Foo : IFoo
{
public int Read()
{
return 42;
}
}
interface IFoo
{
int Read();
}
使用法:
var reader = new FooReader<Foo>();
var result = reader.Read();