Announcement

Collapse
No announcement yet.

Interfaces und Attribute

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

  • Interfaces und Attribute

    Moin zusammen,

    gibt es eine Möglichkeit bei Interfaces das vorhandensein von Attributen zu erzwingen?

    mfg
    Zebes

  • #2
    Hallo,

    Ich glaube die Antwort ist, Nein!
    Obwol ich die Frage nicht unbedingt verstanden habe.

    Wenn du z.B. ein Attribut von einer property (die im Interface definiert ist) meinst.
    Wurde also im Interface eine Eigenschaft mit [Browsable(false)] deklariert, wird diese Eigenschaft bei einem Control daß dieses Interface implementiert trotzdem angezeigt.
    Zumindest ist dieses das default Verhalten.

    Jetzt fragt sich natürlich warum es nützlich sein kann ein Attribute im Interface zu setzen.
    Ich könnte mir nur vorstellen, das es bei Reflection in Verbindung mit Custom Attributen sinnvoll ist. Da gibt es die Möglichkeit über den "type" die GetCustomAttributes methode aufzurufen. Diese hat dann optional die Möglichkeit abgeleitete Attribute miteinzubeziehen. Ob dieses auch für Interfaces gilt ist mit aber auch hier nicht wirklich bekannt.

    Also alles in allem, eine recht unsichere Antwort von mir.
    Hoffe es hilft dir dennoch irgendwie weiter.
    Grüße,

    Martin

    Comment


    • #3
      also im moment verwende ich abstrakte klassen. mir wurde aber inzwischen mehrfach empfohlen mit interfaces zu arbeiten da diese flexibler seien. nur benötigen fast alle meine objecte nun ein paar variablen als attribute. soweit ich weis kann man aber keine variablen zu interfaces hinzu fügen. also wäre doch die einzig emöglichkeit eine abstrace klasse zu erstellen die das interface implementiert oder? oder kann man in interfaces propertys definieren? damit könnt ich ja shcon mal sicherstellen das bestimmte dinge vorhandne sein müßten.

      mfg
      Zebes

      edit:

      es geht nicht darum den wert zu setzen sondern nur das eine variable vorhanden ist

      Comment


      • #4
        Hallo,

        Also properties kannst du wie folgt in Interfaces deklarieren.

        bool IsOnlyGetterProperty
        {
        get;
        }

        bool IsGetterAndSetterProperty
        {
        get;
        set;
        }
        Grüße,

        Martin

        Comment


        • #5
          ja super danke

          mfg
          Zebes

          Comment

          Working...
          X