Announcement

Collapse
No announcement yet.

Methode ohne Klassennamen aufrufen

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

  • Methode ohne Klassennamen aufrufen

    Hallo,

    ich bin noch ganz neu in der C# Programmierung. Ich hoffe ihr könnt mir helfen.
    Ich will eine Funktionsbibliothek machen. Ich habe nun auch schon ganz viele Methoden geschreiben, die meine Klasse betrifft.
    Ist es eingentlich auch möglich eine Methode meiner Klasse in Main() aufzurufen ohne den Klassennamen (Klassenname.Methode) mit anzugeben? Wenn ja wie muss ich die Klasse und Methoden deklarieren? Ich wollte eigentlich auch kein Objekt meiner Klasse in Main() erzeugen.

    Nice greetz Stefie

  • #2
    Hallo,

    man kann in der Programmklasse selbst statische Methoden deklarieren, die ohne Klassenamen und ohne Instantierung der Klasse aufgerufen werden können:

    <pre>
    public class Programm {
    public static void Main(string[] args) {
    MeineMethode();
    }
    private <b>static</b> void MeineMethode() {
    }
    }
    </pre>

    Ich würde aber dennoch raten, sich mal die Vorteile objektorientierter Programmierung anzuschauen.

    Grüße

    Jör

    Comment


    • #3
      Hi Jörg,

      erstmal danke für die Hilfe.
      Leider ist es nicht ganz das was ich wollte.
      Ich dachte eher an sowas:

      public class Programm {
      public static void Main(string[] args) {
      MeineMethode(); // nicht MeineKlasse.MeineMethode
      }
      }

      public class MeineKlasse {
      MeineMethode(){
      }
      }

      Sinn und zweck sollte es sein, die Klasse mit ins Programm einzubinden und die Methode ohne den Klassennamen aufzurufen. Ich habe viele eigene Methoden in dieser Klasse und finde es mühsam diese immer über den Klassennamen aufzurufen.
      Geht sowas überhaupt?

      Nice greetz Stefi

      Comment


      • #4
        hallo,
        das ist in c# so nicht vorgesehen und macht auch nicht viel Sinn, wenn man die Übersicht behalten möchte. Bei dir bietet sich eine statische klasse + methoden an. aber um den klassennamen wirst du nicht herumtippen können

        Comment


        • #5
          Hallo Stefie,

          ich verstehe nicht, was Du eigentlich erreichen möchtest.

          Möchtest Du Dir nur Schreibarbeit ersparen oder steckt hinter Deiner Frage mehr?

          Rätselnd
          Pete

          Comment


          • #6
            Hi,

            ich möchte mir die Schreibarbeit und mein Wissen ersparen. Ich weiß z.B. wie sämtliche Methoden in meinen Klassen heißen, allerdings der Klassenname selbst, den vergess ich immer wieder.

            Ich sag mal so, ich selbst würde da schon immer wieder drauf kommen (ich hab die Klassen ja auch selbst geschrieben), nur mein Ausbilder (der mit mir zusammen C# angefangen hat zu lernen) hatte die Frage gestellt, ob es nicht auch ohne Klassenname geht.

            Gruss Stefi

            Comment


            • #7
              Hallo Stefie,

              >> ich möchte mir die Schreibarbeit und mein Wissen ersparen.
              Aha, da kann ich ehrlich gesagt nicht so ganz folgen. Zumal man dank Intellisense nicht alles tippen muss.

              In C# sind Klassen- oder Instanznamen nun mal notwendig.

              Aber wenn Du Dir oder Dein Ausbilder die Klassennamen nicht merken könnt (wollt), dann implementiere doch alle Funktionen in der Klasse namens a. Dass man dann jedem Funktionsaufruf a. voranstellen musst, kann man sich doch merken, oder?

              Das hat mit strukturierter Programmierung dann aber nix mehr zu tun.

              Gruß
              Pete

              Comment


              • #8
                Hi...
                ich versteh schon was du meinst. Mir macht es auch nicht so viel aus den Klassennamen hin zu schreiben, so erkenn ich wenigstens woher die Methode "auf einmal" kommt...wie gesagt mein Ausbilder hat gehofft es würde ohne gehen.
                Aber trotzdem vielen Dank.

                Gruss Stefi

                Comment

                Working...
                X