IList ...



  • Ich habe gerade mal mit dem Reflector etwas reingeschaut. Wie es aussieht implementiert die Klasse ArrangedElementCollection das IList Interface privat(wenn man das so sagen kann, saemtliche Methoden des IList Interface sind privat implementiert). ControlCollection erbt dann von ArrangedElementCollection und auch IList, da aber ArrangedElementCollection hier alles dicht macht, wirst du mit Insert nicht weit kommen weil du auf saemtliche Methoden von IList kein Zugriff ueber das ControlCollection Interface bekommst.



  • Th69 schrieb:

    'explizit' bedeutet, daß du auf dieses Interface casten mußt, um es benutzen zu können: Explizite Schnittstellenimplementierung

    Bei deinem Beispiel also

    IList list = panel1.Controls as IList;
    list.Insert(...);
    

    Üblicherweise werden explizite Schnittstellen aber für Methoden definiert, welche nicht direkt vom Anwender aufrufbar sein sollen (alternativ: wo es Probleme mit doppelten Methodennamen gibt).

    Wirst du leider kein Spass dran haben, weil die Methode nicht implementiert wurde(NotSupportedException).


  • Administrator

    Die Frage ist natürlich auch noch, wieso überhaupt Insert ? Wieso nicht Add ? Die Position in dieser Collection ist ja für die Funtionalität völlig egal. Daher wird dies wahrscheinlich auch nicht unterstützt.

    Grüssli



  • Kann man davon ausgehen, dass die Methoden anderer Schnittstellen, implementiert sind ?



  • Du kannst davon ausgehen dass das, was auf dem tatsählichen Typen (ControlCollection) noch sichtbar ist, implementiert ist. Im Zweifel RTFM (heißt "read the fine MSDN" wie ich kürzlich aufgeschnappt habe :D).



  • Hängt wohl von den Einzelfällen ab. Muss man das ausprobieren ?



  • LordJaxom schrieb:

    Im Zweifel RTFM (heißt "read the fine MSDN" wie ich kürzlich aufgeschnappt habe :D).

    Wo findet man die „fine“ MSDN? Ich kenn nur die normale.
    </off-topic>



  • Bashar schrieb:

    Wo findet man die „fine“ MSDN? Ich kenn nur die normale.

    Das war ich nicht, das war das Forum! Das ersetzt fine einfach durch fine. Ich meinte fine. Ach love!



  • *******

    Die Passwörter ersetzt es auch, cool.



  • Bashar schrieb:

    *******

    Die Passwörter ersetzt es auch, cool.

    Es ist sogar so cool, dass du dein PW in Klartext sehen kannst und _wir_ es als Sternchen sehen 🙂 Ahwsum!


Anmelden zum Antworten