Announcement

Collapse
No announcement yet.

Objekte in Konsolenanwendung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Objekte in Konsolenanwendung

    Hallo,

    ich habe eine Objekt das ich in mehreren Funktionen brauch, aber dass in main() erst Deklariert werden kann. Ich habe das so gemacht:

    Code:
    namespace solheidelpay
    {
        class Program
        {
            private IniClass oIni = new IniClass();
    
            static void Main(string[] args)
            {
                oIni.File = Application.StartupPath + "\\my.ini";
                loadConfig();
            }
    
            private void loadConfig()
            {
    
            }
    Warum hab ich in Main oIni nicht im Zugriff?

    Viele Grüße
    Ralf

  • #2
    Weil main statisch ist (siehe static keyword) und dein oIni nicht. Du kannst aus etwas statischem nicht auf etwas zugreifen das nicht statisch ist(umgekehrt schon).

    Comment


    • #3
      ok, d.h. ich muss alles was ausserhalb von main ist static machen?

      Comment


      • #4
        Wenn du es von main aus benutzen willst und nicht in main erzeugst dann ja.

        Comment


        • #5
          voll blöd :-)

          Comment


          • #6
            Beachte den letzten Halbsatz:
            Originally posted by Ralf Jansen View Post
            Wenn du es von main aus benutzen willst und nicht in main erzeugst dann ja.
            Du kannst es doch ohne Probleme erzeugen:
            [highlight=c#] class Program
            {
            private IniClass oIni;

            static void Main(string[] args)
            {
            oIni = new IniClass();
            oIni.File = Path.Combine( Application.StartupPath, "my.ini"); // so wird ein Pfad erzeugt
            loadConfig();
            }

            private void loadConfig()
            {

            }
            }[/highlight]
            Aber hier wirst du das gleiche Problem mit loadConfig bekommen. Entweder du machst daraus eine Methode von IniClass (was mir sinnvoll erscheint), oder du machst diese Methode static.

            Gruß Jürgen

            Comment


            • #7
              ok, vielen dank für die Antworten.

              Comment


              • #8
                Mal ganz zu schweigen davon, dass das Laden einer Config Datei nicht in die Program Klasse gehört

                Comment

                Working...
                X