重複の可能性:
C# がジェネリック型を推論しないのはなぜですか?
そのようなメソッドとクラスがあるとしましょう:
Result<TOut> SendMessage<TIn, TOut>(TIn message)
where TIn : IMessage<TOut>
{
}
class Message : IMessage<string>
{
}
次のように呼び出すと、型を解決できないのはなぜですか。
var message = new Message();
var result = SendMessage(message);
Tin があり、Tin に制約があるため、そこから Tout を知ることができます。しかし、なぜ機能しないのですか?
私が書くなら
var result = SendMessage<Message, string>(message);
明らかに機能しますが、これはあまり便利ではありません。