Feedback

C# - user.config und generische Listen

Veröffentlicht von am 5/27/2009
(4 Bewertungen)
Standardmäßig bieten die Konfigurationsdateien des .net-Frameworks keine Möglichkeit generische Listen (oder dergleichen) zu speichern.

Möglich wäre ein Umweg über "normale" XML-Serialisierung. Dabei geht jedoch der Vorteil verloren dass die Einstellungen benutzerspezifisch sind.

Die hier vorgestellte Möglichkeit erweitert die vom Designer erstellte Klasse und somit ist eine "übliche" Verwendung möglich.

Nachfolgend wird ein Beispiel gezeigt das dies anhand einer generischen Liste demonstriert.
using System.Collections.Generic;
using System.Configuration;

// Der Namespace muss ident mit jenem des Designer erstellten sein!
namespace MyApplication.Properties
{
	/// <summary>
	/// Erweitert die vom Designer generierten Settins so dass 
	/// eine Liste gespeichert werden kann.
	/// </summary>
	partial class Settings
	{
		[UserScopedSetting()]
		[SettingsSerializeAs(SettingsSerializeAs.Xml)]
		[DefaultSettingValue("")]
		public List<MyListItem> MyList
		{
			get { return this["MyList"] as List<MyListItem>; }
			set { this["MyList"] = value; }
		}
	}
}

...
//----------------------------------------
// Anwendung:
List<MyListItem> myList = new List<MyListItem>();
...
Properties.Settings.Default.MyList = myList;

// Speichern der Einstellungen:
Properties.Settings.Default.Save();

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!