Announcement

Collapse
No announcement yet.

Backgroundworker aus anderer Klasse zugreifen

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

  • Backgroundworker aus anderer Klasse zugreifen

    Hallo,

    Ich habe eine Backgroundworkerkomponente auf Form1 und die zugehörigen Methoden dort implementiert.

    Wie kann ich jetzt aus einer anderen Klasse auf diese Variable zugreifen?

    Danke!

  • #2
    Wie kann ich jetzt aus einer anderen Klasse auf diese Variable zugreifen?
    Welche Variable?


    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      Damit meine ich direkt den Backgroundworker. Also den Namen den man in der komponente vergibt.

      Comment


      • #4
        Wozu? Das macht keinen Sinn und sollte auch nicht gemacht werden.

        Der Backgroundworker ist eine Komponente einer Form und soll nur in dieser verwendet werden.

        Es gibt andere Möglichkeiten:
        • erstelle den asynchronen Vorgang über Threads (vorzugsweise aus dem ThreadPool)
        • verwende einen neuen BackgroundWorker (kann auch von Code aus erstellt werden )
        • ...


        Was hast du vor?


        mfG Gü
        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

        Comment


        • #5
          Ich hatte einen BGW erstellt mit DoWork funktion und so weiter. Und dachte diesen kann ich jetzt aus mehreren Klassen verwenden.

          Ich möchte einmal den BGW implementieren.Wie mach ich das jetzt am besten? Und dann von anderen Klassen darauf zugreifen zu können?

          Comment


          • #6
            Ich hatte einen BGW erstellt mit DoWork funktion und so weiter. Und dachte diesen kann ich jetzt aus mehreren Klassen verwenden.
            Dann lagere diese Funktionalität in eine Klasse aus und verwende diese Klasse bzw. eine Instanz davon - auch in der Form.

            Die Ereignisse des BGW müssen dann halt per Code mit += registiert werden.

            mfG Gü
            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

            Comment


            • #7
              Wenn du denn universal benutzen willst dann erstell den Backgroundworker zumindest in einer eigenen Klasse in Code, aber nicht visuell in irgendeiner Form. Das hiese sonst ja das du, um ihn in einer anderen Form zu benutzen, erstmal eine eine Instanz der Form die den Backgroundworker hält erzeugen müßtest. Das ist unnötig störender Overhead.

              Comment


              • #8
                Ok danke. Ich habe eine eigene Klasse erstelle und den BGW als Code implementiert.

                Comment


                • #9
                  Auf codekicker hatte jemand ein ähnliches Problem: http://codekicker.de/fragen/Zugriff-...-in-WinForms/5

                  Comment


                  • #10
                    dieses codekicker sieht gar nicht so schlecht aus. ist mit dem voting ein bischen wie digg oder reddit.

                    Comment


                    • #11
                      Anmerkung:

                      Anstatt einer statischen Klasse in der "globale Variablen" gespeichert werden könnte ein Singleton eine bessere Alternative werden.

                      Der Vorteil ist dass die (einzige) Instanz des Singleton auch als Parameter übergeben werden kann und das objektorientierte Prinzip beibehalten werden kann.

                      mfG Gü
                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

                      Comment

                      Working...
                      X