Я прочитал код, чтобы отправить электронную почту, здесь его часть:Почему выражение лямбда не имеет возвращаемого значения?
MailUserState state = new MailUserState()
{
AutoReleaseSmtp = m_autoDisposeSmtp,
CurMailMessage = mMailMessage,
CurSmtpClient = m_SmtpClient,
IsSmpleMail = true,
UserState = AsycUserState,
};
if (m_autoDisposeSmtp)
m_SmtpClient = null;
ThreadPool.QueueUserWorkItem((userState) =>
{
MailUserState curUserState = userState as MailUserState;
curUserState.CurSmtpClient.SendAsync(mMailMessage, userState);
}, state);
Почему лямбда-выражение не имеет возвращаемого значения?
Я думаю, что shoud возвращает объект экземпляра callback
.Но он не имеет оператора возврата. Почему?
Куда он вернет значение? Что будет делать пул потоков с возвращаемым значением? – zerkms
Функция QueueUserWorkItem имеет два параметра. – Dolphin
Выражение лямбда _is_ a экземпляр WaitCallback (или конвертируемый в один, во всяком случае). Его не нужно возвращать. –