Forums Neueste Beiträge
 

My.Settings anders lösen?!

07/06/2008 - 14:56 von Holger Boskugel | Report spam
Hallo,

gibt es einen möglichst einfachen Ansatz auf
die Settings (App und User) zuzugreifen außer
über den Property-Namespace?

Ich suche eine allgemeine Lösung um in allen
Projekten OHNE mögliche Einflüsse der IDE
auf diese Einstellungen zu greifen zu können?

Aktuell hab ich eine eigene ansatzweise Lösung,
muß aber immer Properties.Settings.Default der
eigenen Implementerung zuweisen das möchte
ich eleganter lösen.

Leider scheint

System.Configuration.SettingsBase.Synchronized(System.Configuration.Settings
Base)

vorrauszusetzen daß einzelne Properties an der
entsprechenden Klasse implementiert sind?

Ich möchte

a) ohne Implementierung von Properties,
lediglich mit einer (Item) / [] Eigenschaft
zugreifen mit einem object return-value
b) optional die Benutzer-Einstellungen ggf.
automatisch speichern lassen beim beenden
der Applikation.

Anmerkung: ich weiß daß die MS-IDE das
schon alles selbst macht, jedoch falle ich im
Vergleich zu VB.NET immer dadurch auf
die Nase, daß C# den im Projekt eingestell-
ten "Standard-Namespace" nicht auf alle
Klassen auch als "Root" anwendet, aber auch
keinen leeren Eintrag an dieser Stelle akzeptiert.

Also Lösungen sind gern willkommen um die
Funktionalitàten zu verienfachen.


Viele Grüße

Holger


PS: Eine AssemblyInfo analog VB habe ich
mir schon angefertigt nach einer Vorlage im
Netz und unter Ausprogrammierung der rest-
lichen fehlenden Eigenschaften.

Es lebe der "My"-Namespace !
 

Lesen sie die antworten

#1 Frank Dzaebel
07/06/2008 - 15:50 | Warnen spam
Hallo Holger,

gibt es einen möglichst einfachen Ansatz auf
die Settings (App und User) zuzugreifen außer
über den Property-Namespace?



// Glob.cs:
using System;
public static class Glob
{
static public MainNameSpace.Properties.Settings Props MainNameSpace.Properties.Settings.Default;
}

Zugriff über "Glob.Props.***" von überall aus.
______________
Aber - globale Variablen sind ggf. aus OOP -
Richtlinien her nicht immer best practice.
So könnte man auch pro Klasse
gezielt z.B. folgendermassen definieren:

MainNameSpace.Properties.Settings Props MainNameSpace.Properties.Settings.Default;

Zugriff dann über "Props.***".
Dann kann man dedizierter entscheiden, ob und wenn
ja wie man die Props zugànglich macht. Das wàren
dann zwar ein paar Zeilen mehr, aber gezielter, IMHO
sauberer und schàrfer.

In einigen Situationen kann auch:

using Prop = LinqFloat.Properties.Settings;

hilfreich sein, wenn es um den verkürzten
Klassen-Name geht.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen