У меня есть Ленивый свойство в моем классе:C# Ленивый свойство
private Lazy<ISmtpClient> SmtpClient
{
get
{
return new Lazy<ISmtpClient>(() => _objectCreator.Create<ISmtpClient>(), true);
}
}
Также в METHODE, который использует этот proptery:
public void SendEmail(MailMessage message)
{
SmtpClient.Value.ServerName = "testServer";
SmtpClient.Value.Port = 25;
SmtpClient.Value.Send(message);
}
Но в моем SmtpClient, в Send (строковое сообщение) METHODE являются все протеи, которые я инициализировал в вышеупомянутом методе SendEmail (MailMessage message), null.
Как я могу это исправить?
Заранее благодарен.
Спасибо, но я сделал опубликовать неправильный код ленивой собственности, фактический код, как это: частных Ленивый SmtpClient { получить { вернуть новые Ленивый (() => _objectCreator.Create (), правда); } } Разве это не хорошо? –
Djave
@Djave: обновите свой вопрос с помощью фактического кода. –
Я обновил код. спасибо – Djave