返回void,返回关键字后面不能跟一个对象表达式C#

时间:2017-01-30 15:56:03

标签: c# asp.net return

我想在C#ASP.NET中发送一封电子邮件,问题是我标记了这个错误"返回void,返回关键字后面不能跟一个对象表达式"。在" return"标志着同样的错误,这是什么?

 try
        {
            MailMessage mail = new MailMessage();
            SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
            mail.From = new MailAddress("email@gmail.com", "jhon", Encoding.UTF8);
             mail.Subject = "test email";
            mail.Body = "test email c#";
            mail.To.Add("michael@hotmail.com");
            SmtpServer.Port = 587; 
            SmtpServer.Credentials = new System.Net.NetworkCredential("email@gmail.com", "password");
            SmtpServer.EnableSsl = true;
            SmtpServer.Send(mail);
            return true;
        }
        catch (Exception ex)
        {
            return false;
        }

2 个答案:

答案 0 :(得分:4)

此错误消息表示您的方法的返回类型为void,而您的代码意味着您的方法应该为成功发送的电子邮件返回true,或{{1}表示失败。

将方法的返回类型更改为false可以解决此问题。但是,更好的方法是保留方法bool,并抛出一个自定义异常,指示尝试发送电子邮件失败:

void

答案 1 :(得分:1)

我认为你的函数被定义为void,并且你返回一个布尔值,尝试改变bool的返回值,如下所示:

bool myFunction(){

而不是

void myFunction(){