www.IT-Visions.de-Diskussionsforen (Version 2.1)
(Diese Seite wurde noch nicht auf das neue Layout umgestellt!)


Diese Foren stehen den Lesern unserer Bücher und allen anderen registrieren Benutzern dieser Website zur Verfügung. Wir würden uns freuen, wenn viele Nutzer dieser Website hier nicht nur Fragen stellen, sondern auch die Fragen anderer Nutzer beantworten. Diese Foren sind ein ehrenamtlicher, nicht-kommerzieller, unmoderierter Community-Dienst von www.IT-Visions.de. Wenn Sie kommerzielle Unterstützung für .NET/Scripting/PowerShell suchen, schauen Sie bitte auf unser Support-Angebot und unsere Schulungsangebote für Scripting und Schulungsangebote für .NET.



Klasseninterne Variablen
Autor:  PeterKönigsdorfer
E-mail:  Antworten bitte nur in das Forum!
Datum:  10.04.2007 07:06:56
Subject:  Klasseninterne Variablen
Bezug zum Buch: 
Message:  Hallo, Leute,

bin Einsteiger mit C# und komme von ASP, habe bisher alles aus Büchern und de Internet gelernt und möglicherweise(ziemlich sicher) fehlen mr da noch grundlegende Infos.

Bin zum Einstieg an einer Klasse, die sämtliche Server-Funktionen vereint, die nötig sind, um Daten in Tabellen abzufüllen, zu manipulieren oder auszulesen.
Der input ist entweder ein Hashtable, der aus einer QueryString-Kollektion zusammengestellt wird, oder ein direktes Sql-Statement. Der Output ist XML oder Redirect mit QueryString-Parametern.
Das Script ist im Zwiebelschalenprinzip aufgebaut. Die innerste Funktion führt direkt jedwedes Statement aus(kann auch direkt aufgerufen werden), alle anderen Scripte sind der Weg dahin, über Validierungen ab einem XML-File für alle definierten Tabellen bis zum Zusammenstellen von Statements ab dem Hashtable.

Ich habe mir gedacht, wenn der Hashtable, das Konfigurations-XML und alle abgeleiteten Werte an verschiedenen Orten verwendet werden, wieso nicht gleich alle Werte als für alle Funktionen erreichbare klasseninteren Variablen definieren? So kann ich es vermeiden, dass jedem Script 7 Parameter mitgegeben werden müssen. Allerdings habe ich bemerkt, dass nicht alle Variablen global wirken:

public Hashtable DataFields;
public ArrayList DataFieldsIndex;
public IEnumerator DataFieldsEnumerator;
public XmlDocument DbaseConfig = new XmlDocument();
public bool GlobalError = false;

Die Arraylist und der IEnumerator benötige ich, um den Hastable in CleanInput und TestInput durchlaufen zu können und gleichzeitig zu validieren und die Werte zu verändern.

CleanInput();
TestInput();
if(GlobalError == false) {
               ExecuteStmt(ResolveStmt(),DataFields["table"].ToString(),DataFields["stmt"].ToString(),DataFields["output"].ToString());
} else {
ReturnError();
}
return ServerResponse.ToString();

Theorethisch sollte die einzige Funktion mit Parametern ExecuteStmt() sein, da einzig diese Funktion auch direkt aufgerufen werden kann.
Aber gerade diese zwei Variablen Arraylist und der IEnumerator lassen sich anscheinend nicht global einmal defnieren und wirken nur, wenn ich sie jedes mal ab dem Hashtable neu erstelle.

Was wären da die Stichworte, um über die Wirkung , Zugriffsmöglichkeiten von globalen Variablen nachzulesen?

Ist mein Ansatz überhaupt brauchbar oder umsetzbar?

Wäre nett, wenn ihr mir einen Tip hättet.

mfG
Peter

Antworten

  Zurück zum Forum



 .NET Framework-Programmierung -- C#, VB.NET, ASP.NET, u.a.
 Klasseninterne Variablen von PeterKönigsdorfer  am 10.4.2007 7:06:56 AM
 Re: Klasseninterne Variablen von d  am 21.4.2007 8:07:41 PM


www.IT-Visions.de - Dr. Holger Schwichtenberg / 1998-2018