C# 编译时出错:";应为类、委托、枚举、接口或结构;

C# 编译时出错:";应为类、委托、枚举、接口或结构;,c#,compiler-errors,C#,Compiler Errors,这个代码有什么问题?此程序旨在复制文件并通过电子邮件发送到电子邮件地址,但实际上并非如此 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net; usi

这个代码有什么问题?此程序旨在复制文件并通过电子邮件发送到电子邮件地址,但实际上并非如此

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Mail;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {

        }
    }

    public void email_send()
   {
    MailMessage mail = new MailMessage();
    SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
    mail.From = new MailAddress("your mail@gmail.com");
    mail.To.Add("to_mail@gmail.com");
    mail.Subject = "Test Mail - 1";
    mail.Body = "mail with attachment";

    System.Net.Mail.Attachment attachment;
    attachment = new System.Net.Mail.Attachment("c:/textfile.txt");
    mail.Attachments.Add(attachment);

    SmtpServer.Port = 587;
    SmtpServer.Credentials = new System.Net.NetworkCredential("your mail@gmail.com", "your password");
    SmtpServer.EnableSsl = true;

    SmtpServer.Send(mail);

}
}
这显示了以下编译器错误:

  • 应为类、委托、枚举、接口或结构
  • 应为类、委托、枚举、接口或结构
  • 应为类、委托、枚举、接口或结构
  • 应为类、委托、枚举、接口或结构
  • 应为类、委托、枚举、接口或结构
  • 应为类、委托、枚举、接口或结构
  • 类型或命名空间定义,或应为文件结尾 应为类、委托、枚举、接口或结构

  • 对此我能做些什么?

    首先,您的方法不在类中。将其复制到form 1类中,它应该会清除任何intellisense问题。

    类中未定义电子邮件发送方法。

    电子邮件发送()方法不在类声明范围内。它仍然在名称空间中,但您还必须将其放置在类中。此外,在任何时候都不会调用该方法。这是死代码


    将该方法移动到类定义中,然后从Form_Load()中调用该方法,这与其他人所说的完全一样,但剪切/粘贴此方法后,您应该更正错误:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.
    using System.Net;
    using System.Net.Mail;
    
    namespace WindowsFormsApplication1
    {
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
    
        private void Form1_Load(object sender, EventArgs e)
        {
    
        }
    
        private void button1_Click(object sender, EventArgs e)
        {
    
        }
    
        public void email_send()
        {
            MailMessage mail = new MailMessage();
            SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
            mail.From = new MailAddress("your mail@gmail.com");
            mail.To.Add("to_mail@gmail.com");
            mail.Subject = "Test Mail - 1";
            mail.Body = "mail with attachment";
    
            System.Net.Mail.Attachment attachment;
            attachment = new System.Net.Mail.Attachment("c:/textfile.txt");
            mail.Attachments.Add(attachment);
    
            SmtpServer.Port = 587;
            SmtpServer.Credentials = new System.Net.NetworkCredential("your mail@gmail.com", "your password");
            SmtpServer.EnableSsl = true;
    
            SmtpServer.Send(mail);
    
        }
    }
    }
    
    如您所见,您的
    email\u send
    方法现在位于类声明中