我有4个元素:
我想使用get和set来定义消息以及要接收电子邮件的人。
我做到了这一点:
class EmailGT
{
private string _mensagem = string.Empty;
private string _destinatario = string.Empty;
public string mensagem
{
get { return _mensagem; }
set { _mensagem = value; }
}
public string destinatario
{
get { return _destinatario; }
set { _destinatario = value; }
}
}
}
在Email.cs中我有这个(我没有发布整个代码,因为没有必要):
class Email
{
public void SendEmail()
{
EmailGT x = new EmailGT();
string destinatario = x.destinatario;
string mensagem = x.mensagem;
System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
message.To.Add(destinatario);
message.Subject = "something";
message.Body = mensagem;
在Windows窗体(两者)中我都有:
EmailGT x = new EmailGT();
Email z = new Email();
x.mensagem = "teste 2";
x.destinatario = "my email";
z.SendEmail();
但是,两个字段在Email.cs上都是空的。我想我真的不明白如何使用它。有人可以说出了什么问题吗?谢谢!
答案 0 :(得分:2)
EmailGT x
中的SendEmail
与您设置属性的EmailGT x
无关。您可能希望更改SendEmail
以接受EmailGT
作为参数:
class Email
{
public void SendEmail(EmailGT x)
{
string destinatario = x.destinatario;
string mensagem = x.mensagem;
System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
message.To.Add(destinatario);
message.Subject = "something";
message.Body = mensagem;
// snip
}
}
然后你传递 EmailGT
到SendEmail
:
EmailGT x = new EmailGT();
x.mensagem = "teste 2";
x.destinatario = "my email";
Email z = new Email();
z.SendEmail(x);
答案 1 :(得分:1)
您应该更改SendEmail
方法声明以将EmailGT
实例作为参数,并在方法中使用该实例,而不是创建局部变量。
public void SendEmail(EmailGT x)
{
string destinatario = x.destinatario;
string mensagem = x.mensagem;
System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
message.To.Add(destinatario);
message.Subject = "something";
message.Body = mensagem;
}
用法:
EmailGT x = new EmailGT();
x.mensagem = "teste 2";
x.destinatario = "my email";
Email z = new Email();
z.SendEmail(x);