2
ジェネリックListリターンタイプでデリゲートを定義する必要があります。これを達成する方法はあり一般的な返り値を持つC#代理人Typのリスト
List<MyClass1> Method1(string arg1, string arg2)
List<MyClass2> Method2(string arg1, string arg2)
:
delegate List<T> TestDelegate(string arg1, string arg2);
それから私は、方法1と方法2のこの
TestDelegate td = new TestDelegate(Method1);
またはこの
TestDelegate td = new TestDelegate(Method2);
署名をしたいですか?
一覧 '以来、動作しません'を'List 'のスーパータイプではありません(試してみてください)、コンパイルエラーが発生します。 'List 'は共変ではありません: 'Method1'によって返された値に対して' returnValue.Add(new MyClass2()) 'を実行した場合に起こることを想像してみてください。 –
Heinzi