Web Log di Adrian Florea

"You know you've achieved perfection in design, not when you have nothing more to add, but when you have nothing more to take away." Antoine de Saint-Exupery
posts - 440, comments - 2715, trackbacks - 3944

My Links

Archives

Post Categories

Image Galleries

.RO Blogs

.RO People

.RO Sites

Blogs

Furls

Links

vinCitori

raise accessor in C++/CLI

Due anni e mezzo fa, parlavo in questo post, di tre eventi all'interno delle classi del framework, tutti e tre nell'assembly Microsoft.VisualBasic.dll, provvisti non solo dei classici accessor add e remove, ma anche di raise (.fire in IL), accessor che non esiste ancora in C# e finivo il post chiedendomi in quale linguaggio sia stato scritto quell'assembly, Microsoft.VisualBasic.dll.

E oggi scopro che C++/CLI (ECMA-372, 19.6.2) mette a disposizione tre accessor anziche' due: add, remove e raise. Quindi, lo snippet del mio vecchio post, diventa in C++/CLI:

delegate void FooFiredEvent();

ref class Foo {
    FooFiredEvent^ m_FooFired;

    public: event FooFiredEvent^ FooFired {
        void add(FooFiredEvent^ value) {
            m_FooFired += value;
        }
        void remove(FooFiredEvent^ value) {
            m_FooFired -= value;
        }
        void raise() {
            if(m_FooFired) {
                m_FooFired();
            }
        }

    }
};

Print | posted on martedì 9 ottobre 2007 00:37 | Filed Under [ Carillon .NET ]

Powered by:
Powered By Subtext Powered By ASP.NET