读一段代码,最先解释满意的给全分结贴!!!在线等!!!!!
public SMTP()
{
System.Configuration.Configuration config = System.Configuration.ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
MailSettingsSectionGroup mailSettings = NetSectionGroup.GetSectionGroup(config).MailSettings;
string mailFrom = mailSettings.Smtp.From;
string smtpServer = mailSettings.Smtp.Network.Host;
int smtpPort = mailSettings.Smtp.Network.Port;
string smtpUsername = mailSettings.Smtp.Network.UserName;
string password = mailSettings.Smtp.Network.Password;
smtpMail = new SmtpClient(smtpServer, smtpPort);
smtpMail.Credentials = new NetworkCredential(smtpUsername, password);
this._mailFrom = mailFrom;
this._displayName = smtpUsername;
}
public SMTP(string smtpServer, string userName, string password)
: this(null, smtpServer, userName, password)
{
}
/**//// <summary>
/// 邮件发送类
/// </summary>
/// <param name= "mailFrom "> 发件人地址 </param>
/// <param name= "smtpServer "> SMTP 服务器 </param>
/// <param name= "userName "> 用户名 </param>
/// <param name= "password "> 密码 </param>
public SMTP(string mailFrom, string smtpServer, string userName, string password)
: this(mailFrom, mailFrom, smtpServer, userName, password)
{
}
/**//// <summary>
/// 邮件发送类
/// </summary>
/// <param name= "mailFrom "> 发件人地址 </param>
/// <param name= "displayName "> 显示的名称 </param>
/// <param name= "smtpServer "> SMTP 服务器 </param>
/// <param name= "userName "> 用户名 </param>
/// <param name= "password "> 密码 </param>
public SMTP(string mailFrom, string displayName, string smtpServer, string userName, string password)
: this(mailFrom, displayName, smtpServer, 25, userName, password, false)
{
}
public SMTP(string mailFrom, string displayName, string smtpServer, int smtpPort, string userName, string password, bool smtpSsl)
{
this._mailFrom = mailFrom;
this._displayName = displayName;
smtpMail = new SmtpClient(smtpServer, smtpPort);
smtpMail.Credentials = new NetworkCredential(userName, password);
smtpMail.EnableSsl = smtpSsl;
}
public Boolean Send(string mailTo, string mailSubject, string mailBody, MailPriority priority, bool isBodyHtml)
{
string[] mailTos = new string[] { mailTo };
string[] attachments = null;
System.Text.Encoding bodyEncoding = System.Text.Encoding.Default;
return Send(mailTos, null, null, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}
public Boolean Send(string mailTo, string mailSubject, string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
string[] mailTos = new string[] { mailTo };
return Send(mailTos, null, null, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}
public Boolean Send(string[] mailTos, string[] mailCcs, string[] mailBccs, string mailSubject, string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
return Send(this._mailFrom, this._displayName, mailTos, mailCcs, mailBccs, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}
--------------------------------------
问题:
public SMTP(string smtpServer, string userName, string password)
: this(null, smtpServer, userName, password)
{
}
1.这句中的 :this是个什么用法阿?
2. 多次重载 Send()方法有什么意义呢??
3. return Send(mailTos, null, null, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding); 这个是什么用法?
4. 为什么不在定义send()方法的时候一次性把参数加全呢??而要每次都要加几个参数进去呢?
-------------------------------
刚学不久 能给解释详细就给我解释详细点吧 浪费您时间了,谢谢!!
[解决办法]
1. this是调用该类的另外一个构造函数,使用给定的参数,和另外的构造函数进行构造.
[解决办法]
1.这句中的 :this是个什么用法阿?
调用四个参数的构造函数this(null, smtpServer, userName, password)
2. 多次重载 Send()方法有什么意义呢??
考虑到不同参数的情况。写好了方便宜用,写不好让人眼花头晕。
3. return Send(mailTos, null, null, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding); 这个是什么用法?
相当于:
bool bFlag = Send(mailTos, null, null, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
return bFlag;
4. 为什么不在定义send()方法的时候一次性把参数加全呢??而要每次都要加几个参数进去呢?
同2;
[解决办法]
this前面加个冒号什么意思啊??
表示要调用构造函数
base同