Witam,
Problem dotyczy programu pocztowego który robię - podczas próby deserializacji otrzymuję błąd który jest w temacie (podkreśla że nie może znaleźć definicji do sett.x gdzie x to np nazwaUzytkownika). Wszystko jest w public bym miał pewność że błąd nie pochodzi z braku dostępu do danej metody przez inną.
Oto kod:
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;
using System.Xml.Serialization;
using System.IO;
namespace NetBuddy
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
public void button1_Click(object sender, EventArgs e)
{
string istnieje = "data.xml";
if (File.Exists(istnieje))
{
XmlSerializer x = new XmlSerializer(typeof(List<ustawienia>));
FileStream f = new FileStream("data.xml", FileMode.Open);
List<ustawienia> sett = (List<ustawienia>)x.Deserialize(f);
f.Close();
wyslij(sett);
}
else
{ }
}
public void wyslij(List<ustawienia> sett)
{
SmtpClient client = new SmtpClient(sett.adresSmtp, Convert.ToInt32(sett.portSmtp));
client.EnableSsl = sett.ssl;
client.Credentials = new NetworkCredential(sett.nazwaUzytkownika, sett.haslo);
int seek = sett.adresPop3.IndexOf(".");
string andDestroy = sett.adresPop3.Remove(0, ++seek);
sett.nazwaUzytkownika = sett.nazwaUzytkownika + "@" + andDestroy;
MailMessage msg = new MailMessage();
msg.From = new MailAddress(sett.nazwaUzytkownika);
msg.To.Add(new MailAddress(textBox1.Text));
msg.Subject = textBox3.Text;
msg.Body = richTextBox1.Text;
try
{
client.Send(msg);
MessageBox.Show("Wiadomość wysłano!");
this.Close();
}
catch (Exception ex)
{
MessageBox.Show("Nie można wysłać wiadomości z podanej przyczyny: " + ex.Message);
}
}
public class ustawienia
{
public string nazwaUzytkownika;
public string haslo;
public bool ssl;
public string adresSmtp;
public string portSmtp;
public ustawienia()
{ }
public ustawienia(string nNazwaUzytkownika, string nHaslo, bool nSsl, string nAdresSmtp, string nPortSmtp)
{
nazwaUzytkownika = nNazwaUzytkownika;
haslo = nHaslo;
ssl = nSsl;
adresSmtp = nAdresSmtp;
portSmtp = nPortSmtp;
}
}
}
}
Pozdrawiam.