Wie Instanz von Form1 (mit Main) von außerhalb ansprechen ?

Saber

Erfahrenes Mitglied
Richtig, das geht in C#.NET nicht auf diese Art und Weise. Du kannst per using lediglich Namespaces einbinden, aber keine Klassen oder Objekte.

Außerdem gibt es nur eine Klasse für DataSets. Wenn Du ein neues DataSet erstellt stimmen die Typen auf Form1 und Form2 überein. Du musst also nicht irgendwie ein spezielles DataSet vom Typ des Form1-DataSets erstellen.
Einfach so:
Code:
// In Form 1
DataSet ds = new DataSet();

// In Form 2
DataSet ds = new DataSet();
Die Übergabe kannst Du über den Konstruktor machen, dann kannst Du auch eine Referenz benutzen
Code:
// In Form 1
Form2 frm = new Form2(ref ds);


// In Form 2

DataSet m_Ds;
public Form2(ref DataSet ds)
{
   m_Ds = ds;
}

private void IrgendeineMethode()
{
   m_Ds.Tables[0] ... blablabla
}
Über die Referenz (ref) arbeitest Du praktisch DIREKT mit den Daten im DataSet aus Form1. Ohne das Wörtchen "ref" würde er Dir eine lokale Kopie in Form2 erstellen.

Hmm ... ich glaub ich hör jetzt auch ... ich verwirr mich ja schon selber. *fg* ;)
 

flaavia

Mitglied
:) :)

Vielen herzlichen Dank

Jetzt ist mir vieles klarer

Hmm ... ich glaub ich hör jetzt auch ... ich verwirr mich ja schon selber. *fg*
:) :) :) ;)

*fg*

PS:

ist das Präfix m_ eine übliche Kennzeichnung von gekapselten (privaten) Variablen in einer Klasse? Ich habe dies sonst mit m_ noch nirgends gesehen.
Wofür steht denn das m_ ?

*fg*
 
Zuletzt bearbeitet:

Saber

Erfahrenes Mitglied
Korrekt, das "m" steht für Membervariable ... das hab ich aus meiner C++ Zeit übernommen. Kann man machen, muss man aber nicht. Es gibt Leute die setzen vor jeden String ein "s" oder ein "str" etc. Muss jeder selber wissen wie er/sie das handhabt. :)