Место общения программистов C#
-
Anonymous
Кастинг общий делегирован для не общего с той же подписью
Сообщение
Anonymous »
Это должен быть просто вопрос. Я определяю два типа делегатов: < /p>
Код: Выделить всё
delegate void TestHandler(object sender, EventArgs args);
delegate void TestHandlerGen(object sender, TArgs args);
< /code>
Затем я использую их: < /p>
TestHandler h1 = null;
TestHandlerGen h2 = delegate { };
// this compiles
h1 = new TestHandler(h2);
// this doesn't compile:
// Cannot implicitly convert type 'X.TestHandlerGen'
// to 'X.TestHandler'
h1 = h2;
< /code>
Делегиты имеют одинаковую подпись, почему H1 = h2 < /code> не компилируется? < /p>
Почему Скомпилируется ли H1 = новый TestHandler (H2)
?
Подробнее здесь:
https://stackoverflow.com/questions/227 ... -signature
1739108350
Anonymous
Это должен быть просто вопрос. Я определяю два типа делегатов: < /p>
[code]delegate void TestHandler(object sender, EventArgs args);
delegate void TestHandlerGen(object sender, TArgs args);
< /code>
Затем я использую их: < /p>
TestHandler h1 = null;
TestHandlerGen h2 = delegate { };
// this compiles
h1 = new TestHandler(h2);
// this doesn't compile:
// Cannot implicitly convert type 'X.TestHandlerGen'
// to 'X.TestHandler'
h1 = h2;
< /code>
Делегиты имеют одинаковую подпись, почему H1 = h2 < /code> не компилируется? < /p>
Почему Скомпилируется ли H1 = новый TestHandler (H2) [/code]?
Подробнее здесь: [url]https://stackoverflow.com/questions/22716729/casting-generic-delegated-to-non-generic-with-the-same-signature[/url]