Voici la classe im essayant de stockerC# Paramètres de l'application ne sauvegarde en utilisant la classe personnalisée
[Serializable]
[XmlRoot(ElementName = "Database", IsNullable = false, Namespace = "http://somesite.com")]
class Database
{
[XmlAttribute(AttributeName = "Name")]
public string Name { get; set; }
[XmlAttribute(AttributeName = "Provider")]
public DatabaseProvider Provider { get; set; }
[XmlAttribute(AttributeName = "Driver")]
public string Driver { get; set; }
[XmlElement("DatabaseEntry")]
public List<DatabaseEntry> SavedEntries { get; set; }
public Database()
{
SavedEntries = new List<DatabaseEntry>();
}
public Database(string type, string provider, string driver)
{
Name = type;
Driver = driver;
Provider = DatabaseProvider.SqlClient;
Provider = SetProvider(provider);
SavedEntries = new List<DatabaseEntry>();
}
private DatabaseProvider SetProvider(string provider)
{
switch (provider)
{
case "OleDb":
return DatabaseProvider.OleDb;
case "SqlClient":
return DatabaseProvider.SqlClient;
default:
return DatabaseProvider.SqlClient;
}
}
}
[Serializable]
[XmlRoot(ElementName = "DatabaseEntry", IsNullable = false, Namespace = "http://somesite.com")]
class DatabaseEntry
{
[XmlAttribute(AttributeName = "Name")]
public string Name { get; set; }
[XmlAttribute(AttributeName = "ConnectionString")]
public string ConnectionString { get; set; }
[XmlAttribute(AttributeName = "DsnString")]
public string DsnString { get; set; }
public DatabaseEntry()
{ }
}
base de données est la classe mère que je suis en train magasin, quelqu'un voit quelque chose de mal? Lorsque j'instancie la classe et la sauvegarde, rien n'est sauvegardé. Ce qui donne?
EDIT! Le code qui est utilisé pour enregistrer:
if (Settings.Default.SqlDatabase == null)
{
Settings.Default.SqlDatabase = CreateNewDatabase();
Settings.Default.Save();
}
private Database CreateNewDatabase()
{
Database data = new Database("SQL Server", "SqlClient", "SQL Native Client");
data.SavedEntries.Add(new DatabaseEntry()
{
Name = "Default",
ConnectionString = @"Hello1",
DsnString = @"Hello2"
});
return data;
}
Je suis tout simplement essayer de stocker une instance d'une classe de base de données dans les AppSettings
Pourriez-vous poster le code que vous utilisez pour enregistrer la classe en tant que xml –
publié pour montrer comment je l'appelle – Tom
opps je l'ai édité en même temps que vous avez fait, désolé à ce sujet –