首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

读一段代码,最先解释满意的给全分结贴!

2012-01-02 
读一段代码,最先解释满意的给全分结贴!!!在线等!!!!!publicSMTP(){System.Configuration.Configurationcon

读一段代码,最先解释满意的给全分结贴!!!在线等!!!!!
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同

热点排行