Autor Beitrag
IchKG
Hält's aus hier
Beiträge: 2



BeitragVerfasst: So 21.09.08 22:28 
Hi,
ich programmiere gerade ein Programm, bei dem man Profile mit Einstellungen Erstellen kann und dann auch abrufen kann.
Dazu hab ich eine Klasse "profil" erstellt, in der die einzelnen Variablen deklariert werden.

Danach erstelle ich in der „methode profil_erstellen“ ein Objekt der Klasse und fülle dann die Variablen mit meinen Einstellungen. Nur will ich das der Benutzer den Namen von diesem Objekt eingeben kann, aber wie mach ich das?


ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
class Program
    {
        static void Main(string[] args)
        {
            profil_erstellen("home"true"""""""""");
        }

        private static void profil_erstellen(string profilname, bool DHCPon, string DNS1, string DNS2, string ip, string subn, string gateway)
        {
            profil profilname = new profil();
            profilname.DNS1 = DNS1;
            profilname.DNS2 = DNS2;
            profilname.ip = ip;
            profilname.DHCPon = DHCPon;
            profilname.gateway = gateway;
            profilname.subn = subn;
        } 
    }
    class profil
    {
        public bool DHCPon;
        public string DNS1;
        public string DNS2;
        public string ip;
        public string subn;
        public string gateway;
    }


In diesem Code versuche ich das Objekt zu erstellen. Der Name des Objektes soll aus der Variable "profilname" eingelesen werden, aber das funktioniert nicht nur habe ich keine Ahnung wie ich so etwas machen soll. Gibt es da dann einen anderen Syntax um das Objekt zu erstellen oder funktioniert das garnicht?

mfG
IchKG


Zuletzt bearbeitet von IchKG am So 21.09.08 23:08, insgesamt 1-mal bearbeitet
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 21.09.08 23:02 
Hallo und :welcome:!

Wir sind was korrekte Rechtschreibung angeht hier wirklich nicht pingelig, aber könntest Du Deinen Beitrag editieren und ein paar Satzzeichen einfügen? Der Beitrag ist wirklich schwer lesbar, wenn man nicht weiß, wo ein (Neben)satz aufhört und der nächste anfängt.

Einfach oben bei Deinem ersten Beitrag auf user defined image oder user defined image klicken, um den Beitrag zu ändern! Danke! :-)

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
IchKG Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: So 21.09.08 23:08 
Ist es jetzt lesbar?
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 21.09.08 23:21 
Ja, so ist es gut :zustimm:

Du kannst in C#, da es keine Skriptsprache ist, Variablennamen nicht in dieser Art dynamisch vergeben. Was Du aber machen kannst, ist, ein Dictionary<string, profil> zu benutzen:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
class Program
{
    Dictionary<string, profil> profile = new Dictionary<string, profil>();

    /* ... */

    private static void profil_erstellen(string profilname, bool DHCPon, string DNS1, string DNS2, string ip, string subn, string gateway)
    {
        if (profile.ContainsKey(profilname))
            raise new ArgumentException("Profile-Name bereits vergeben""profilname");
        else
            profile[profilname] = new profil();

        profile[profilname].DNS1 = DNS1;
        profile[profilname].DNS2 = DNS2;
        profile[profilname].ip = ip;
        profile[profilname].DHCPon = DHCPon;
        profile[profilname].gateway = gateway;
        profile[profilname].subn = subn;
     }


Ich hab's nur hier ins Forum geschrieben, kleine Fehler können also noch drin sein ;-)

Hinweis zum Schluß: Konvetion ist es, dass man Klassennamen groß schreibt, also Profil.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".