Generelle Frage: Datenübergabe
-
Brauche nochmal eure Hilfe. Folgende Klassen sind aktuell vorhanden und aufgebaut:
Anmeldungsform + RegDatenKlasse
- nur Benutzername wird bei erfolgreicher Anmeldung an Hauptprogramm übergebenHauptprogramm
- Es wird eine Instanz der BenutzerInfoKlasse erstellt und der Benutzername eingetragenBenutzerInfoKlasse
- Daten zum Benutzer - sowie Variablen zu ProgrammEinstellungenEinstellungenPanel
- Ein UserControl im Hauptprogramm.Zum Problem:
Mein Ziel ist es, die "BenutzerInfo" Instanz im Hauptprogramm aus dem "EinstellungsPanel" heraus zu aktualisieren. Also habe ich gedacht - modifiziere ich einfach den Konstruktor des EinstellungsPanels und schicke eine Referenz der ja bereits erstellten BenutzerInfoKlasse mit.Hauptprogramm
... ... //neue Instanz erzeugen - und UserControl abrunden EinstellungenPanel einstellungen = new EinstellungenPanel(infostruct); formabrunden (einstellungen, 0, 0, einstellungen.Size.Width, einstellungen.Size.Height, 10); //Position des UC festlegen einstellungen.Location = new Point(this.Size.Width - einstellungen.Size.Width - 4, ((Button)sender).Location.Y + ((Button)sender).Size.Height + 6); this.Controls.Add(einstellungen); ... ...
EinstellungenPanel
public partial class EinstellungenPanel : UserControl { public EinstellungenPanel() { InitializeComponent(); } public EinstellungenPanel(BenutzerInfoKlasse instanz) { InitializeComponent(); benutzerInfoInstanz = instanz; } //Variablen //BenutzerInfoKlasse benutzerInfoInstanz = new BenutzerInfoKlasse(); OK BenutzerInfoKlasse benutzerInfoInstanz; ... ...
Als Fehler begegnet mir immer wieder:
Fehler 1 Inkonsistenter Zugriff: Parametertyp "VanNettenAnmeldung.BenutzerInfoKlasse" ist weniger zugreifbar als Methode "VanNettenAnmeldung.EinstellungenPanel.EinstellungenPanel(VanNettenAnmeldung.BenutzerInfoKlasse)" C:\Users\Jan\Documents\Visual Studio 2010\Projects\VanNettenAnmeldung\VanNettenAnmeldung\EinstellungenPanel.cs 19 16 VanNetten
Wer kann mir den Grund nennen, oder noch besser: Wie macht man dies richtig ?
-
Hi,
mach deine Klasse BenutzerInfoKlasse public. Es ergibt keinen Sinn, den Konstruktor von EinstellungenPanel für alle sichtbar zu machen, für das dafür notwendige Argument instanz jedoch nicht.
-
Danke dir. Manchmal frage ich mich, ob euch soetwas auch passiert