" mean in C #? Possible duplicate: C # Lambda (=>) for instance Messenger.Default.Register(this, (ms...">

What does "=>" mean in C #?

Possible duplicate:
C # Lambda (=>)

for instance

Messenger.Default.Register<AboutToCloseMessage>(this, (msg) =>
        {
            if (msg.TheContainer == this.MyContainer) // only care if my container.
            {
                // decide whether or not we should cancel the Close
                if (!(this.MyContainer.CanIClose))
                {
                    msg.Execute(true); // indicate Cancel status via msg callback.
                }
            }
        });
+3
source share
5 answers

This is lambda, it makes it easy to create a function.

in your example, you can also write:

Messenger.Default.Register<AboutToCloseMessage>(this, delegate(Message msg)
{
    if (msg.TheContainer == this.MyContainer) // only care if my container.
    {
        // decide whether or not we should cancel the Close
        if (!(this.MyContainer.CanIClose))
        {
            msg.Execute(true); // indicate Cancel status via msg callback.
        }
    }
});

or even

Messenger.Default.Register<AboutToCloseMessage>(this, foobar);

// somewhere after //
private void foobar(Message msg)
{
    if (msg.TheContainer == this.MyContainer) // only care if my container.
    {
        // decide whether or not we should cancel the Close
        if (!(this.MyContainer.CanIClose))
        {
            msg.Execute(true); // indicate Cancel status via msg callback.
        }
    }
}
+1
source

Operator

=>
used for lambda expressions.

http://msdn.microsoft.com/en-us/library/bb397687.aspx

It allows you to define an anonymous function on the fly and can be used to create delegates or types of expressions tree.

+2
source

(http://msdn.microsoft.com/en-us/library/bb397687.aspx).

0

lamda ( ) = > {t }

, .

0

lambda #. msg - , , - .

:

Messenger.Default.Register<AboutToCloseMessage>(this, SomeMethod);

void SomeMethod(SomeType msg)
{
    if (msg.TheContainer == this.MyContainer) // only care if my container.
    {
        // decide whether or not we should cancel the Close
        if (!(this.MyContainer.CanIClose))
        {
             msg.Execute(true); // indicate Cancel status via msg callback.
        }
    }
}
0

All Articles