Announcement

Collapse
No announcement yet.

Event in interface

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

  • Event in interface

    hallo,

    ich hab ein Problem, mit dem Event, welches ich im Interface angelegt habe.

    Das hier ist mein Interface:

    [highlight=vbnet]Interface A

    Event meinevent(ByVal msg As String)

    End Interface[/highlight]

    Ich habe dann eine Klasse, welches das Interface implementiert und erhalte dabei eine Fehlermeldung:

    [highlight=vbnet]Public Class B
    Implements A

    Public Event meinevent(ByVal msg As String) Implements A.meinevent

    End class[/highlight]

    Das hier ist die Fehlermeldung:

    "meinevent" kann den zugrunde liegenden Delegattyp "A.meineventEventHandler" des Ereignisses nicht verfügbar machen, das außerhalb des Projekts durch class "KlasseB" implementiert wird.


    Verstehe diese nicht und weiß nicht was ich änder muss.

    Gruß Heidrun
    Zuletzt editiert von Heidrun; 20.10.2009, 09:55.

  • #2
    Ich bin kein VB.NET Guru, aber gehört das Implements nicht irgendwo bei der Klassendeklaration hin?

    Code:
    Public Class B Implements A
     
    Public Event meinevent(ByVal msg As String) 
     
    End class
    So in etwa? Oder kann man das in VB.NET einfach hinter sämtliche Properties schreiben die das Interface beinhaltet (wohl eher nicht)?

    Comment


    • #3
      Ja da hast du Recht.
      Das habe ich auch in meiner Class B nur vergessen hier mit reinzukopieren.
      Hilft mir also leider nicht.

      Comment


      • #4
        Was heißt hilft nicht? Genauso sollte es aber richtig sein.

        Code:
        Public Class B
            Implements A
            Public Event meinevent(ByVal msg As String) Implements A.meinevent
        End Class

        Comment


        • #5
          Ja aber ich habe trotzdem die Fehlermeldung.
          Habe das nur anhand von Beispielen abgeleitet. Diese sahen genauso aus.

          Was bedeutet die Fehlermeldung ?

          "meinevent" kann den zugrunde liegenden Delegattyp "A.meineventEventHandler" des Ereignisses nicht verfügbar machen, das außerhalb des Projekts durch class "KlasseB" implementiert wird.

          Comment


          • #6
            Ich vermute Interface und Klasse sind in verschiedenen Assemblies? Dann solltest du das Interface public machen.

            Comment


            • #7
              Danke genau das wars.
              Public vor Interface und schon ging die Fehlermeldung weg.
              Daran habe ich gar nicht gedacht.

              Comment

              Working...
              X