我注意到,如果您尝试向无效地址发送电子邮件,则会引发异常: MailAddress To=new MailAddress("invalidemailaddress","recipientname"); 抛出: "The specified string is not in the form required for an e-mail address" 这意
MailAddress To=new MailAddress("invalidemailaddress","recipientname");
抛出:
"The specified string is not in the form required for an e-mail address"
这意味着必须有一个在MailAddress中执行的.Net函数来检查电子邮件地址是否有效.有没有办法直接调用这个’验证’功能?这样我就不需要创建自己的IsValid函数了.
是的,有这样的.Net功能,但“标准”意味着它的功能无法访问:MailAdress使用私有ParseAddress方法,后者又使用System.Net.Mime.MailBnfHelper.后者是一个内部类,因此它不能(轻松地)在框架本身之外访问.因此,使用这些函数的唯一方法是使用反射,我强烈反对.由于这些函数没有文档记录且无法访问而没有反射,因此它们的实现可能会发生变化,并且您的代码可能会在未来版本的框架中中断.