TypeLibrary warum Interfaces

  • C#

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Radinator.

    TypeLibrary warum Interfaces

    Hallo,

    ich arbeite momentan mit einer TypeLibrary eines Programmes um mit diesem Programm zu kommunizieren. Diese Typelibrary ist voll mit Interfaces aber ich verstehe den Grund dafür nicht. Warum wird das so gemacht?

    Es geht um die TypeLibrary von Corel Draw.
    Das wird wohl eine Interop (COM) Bibliothek sein.

    Wenn du z.B. auf über VB.NET auf Excel zugreifen willst, musst du in deinem Projekt auf die Excel Object Libary referenzieren. Dann kannst du über Microsoft.Office.Interop.Excel dir eine Excel Application erstellen, mit welcher du Excel fernsteuern kannst. Hier hast du auch (gefühlt) 70% Interfaces und 20% Enums vorliegen. Der Rest ist dann die entsprechende Klassenimplementation der Interfaces. So wird es auch bei der TypeLibary sein, die du grad verwendest.

    Hier ein Beispiel:
    Die Klasse Microsoft.Office.Interop.Excel.ApplicationClass implementiert das Interface Microsoft.Office.Interop.Excel.Application. Die Interfaces die vorliegen dienen alle nur dem Zweck, Objekte "spät gebunden" zu erstellen. Heißt nix anders, als dass man ein bisschen freier in der Typenwahl ist (zumindest in VB.NET). AFAIK heißt das ganze Interface-based Programming.

    Lg Radinator
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell