Announcement

Collapse
No announcement yet.

C++/CLI Events eines Interfaces implementieren

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

  • C++/CLI Events eines Interfaces implementieren

    Ich verzweifle gerade am Event Syntax von C++/CLI vielleicht sieht ja jemand das Problem.

    Definition des Interfaces in C#

    [Highlight=C#]public interface IVssWriterEvents
    {
    event EventHandler<EventArgs<VssWriterMetadata>> Identify;
    }[/Highlight]

    Die Implementierung in C++/CLI

    [Highlight=C++]public ref class MSVssWriter : public IVssWriterEvents
    {
    public:
    event EventHandler<EventArgs<VssWriterMetadata^>^>^ Identify
    {
    void add(EventHandler<EventArgs<VssWriterMetadata^>^>^)
    {
    }
    void remove(EventHandler<EventArgs<VssWriterMetadata^>^ >^)
    {
    }
    }
    }[/Highlight]


    Der Compiler wirft mir dann
    'MSVssWriter' must provide an implementation for the interface method 'void IVssWriterEvents::Identify::add(System::EventHandl er<TEventArgs> ^)'
    vor. Ich seh das Problem einfach nicht. Syntaktisch scheint der C++ Teil in Ordnung zu sein die Zuordnung zum Interface will aber irgendwie nicht.

  • #2
    Simple Lösung den Event in der C++/CLI Klasse muß man wie jeden anderen Interface Member als virtual deklarieren.

    Comment

    Working...
    X