Кастинг общий делегирован для не общего с той же подписьюC#

Место общения программистов 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»