【发布时间】:2022-01-20 01:19:05
【问题描述】:
我有一个名为 Email 的类,它存储在一个类库中,该类库将包含来自我 UI 中文本框的值(抱歉,代码太长了):
namespace MessageLibrary
{
public class Email
{
private int _emailID;
private string _emailSubject;
private string _emailSender;
private string _emailContent;
public int EmailID {get , set}
public string EmailSubject {get , set}
public string EmailSender {get , set}
public string EmailContent {get , set}
我在下面有一个添加该类实例的方法:
public void AddEmail()
{
Email aEmail = new Email();
int emailID = Convert.ToInt32(txtID.Text);
string emailSender = Convert.ToString(txtSender.Text);
string emailSubject = Convert.ToString(txtSubject.Text);
string emailContent = Convert.ToString(txtContentClean.Text);
if (txtContentClean.Text.Length <= 1028 && txtSubject.Text.Length <= 20 && txtID.Text.Length == 9)
{
try
{
aEmail.EmailID = emailID;
aEmail.EmailSender = emailSender;
aEmail.EmailSubject = emailSubject;
aEmail.EmailContent = emailContent;
}
catch (Exception exp)
{
throw new ArgumentException(exp.Message);
}
}
emails.Add(aEmail);
}
我有一个类,其中包含我的 MainProgram.Xaml.cs 中每个 Email 实例的列表:
public class EmailList
{
private List<Email> _list = new List<Email>();
public List<Email> Emails => _list;
public void add(Email newEmail)
{
_list.Add(newEmail);
}
}
最后我有一个按钮,可以将其序列化为 .txt 文件中的 JSON:
private void btnExport_Click(object sender, RoutedEventArgs e)
{
var emailList = new EmailList();
var obj = JsonConvert.SerializeObject(emailList.Emails, Formatting.Indented);
File.WriteAllText(@"C:\Users\patri\OneDrive\Desktop\test.txt", obj);
}
我目前在 AddEmail() 方法的最后一行收到错误消息“名称 emails 在当前上下文中不存在”。
我是 OO 的新手,任何人都可以帮助并告诉我如何正确添加类的每个实例并序列化值。
【问题讨论】:
标签: c# json wpf serialization