어떻게 public constructor를 public으로 호출 할 수 있습니까? setter와 setter invoke 객체 이니셜 라이저에서 공개적으로 호출하고 싶습니다.중첩 된 개인 생성자 호출
private MyMailer() // objects initializer
{
client = new SmtpClient(SMTPServer);
message = new MailMessage {IsBodyHtml = true};
}
private MyMailer(string from) //from setter
: this() // calls MyMailer()
{
SetFrom(from);
}
public MyMailer(string from, string to, string cc, string bcc, string subject, string content)
: this(from) // calls MyMailer(from)
{
foreach (string chunk in to.Split(new string[] {";"}, StringSplitOptions.RemoveEmptyEntries))
{
AddTo(chunk);
}
foreach (string chunk in cc.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries))
{
AddCC(chunk);
}
foreach (string chunk in bcc.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries))
{
AddBCC(chunk);
}
SetSubject(subject);
SetMessage(content);
Send();
}
두 번째 문장은 나에게 완전히 불분명합니다. 연결 생성자를 함께 연결하는 방법에 대해서는 http://stackoverflow.com/questions/985280/can-i-call-a-overloaded-constructor-from-another-constructor-of-the-ameame-classi-i를 참조하십시오. ? rq = 1 –
정확히 내가 원했던 것입니다. Jon에게 감사드립니다! 미안, 커피 부족. –