2010-04-15 24 views
6

¿Cómo usar expresiones lambda en C++/CLI?Lambdas en C++/CLI

+1

¿A qué CLI te refieres? – wRAR

+0

A C++ que se usan en visual studio (en el que puedo usar bibliotecas .net) i port system linq y ahora quiero usar alguna función que use expresiones lamda en C# como WindowsFormsSynchronizationContext.Post – Xaver

Respuesta

3

En C#, las lambdas son en realidad solo azúcar sintáctico para crear delegados. C++/CLI supports delegates, por lo que aún puede hacer todas las mismas cosas en C++/CLI que puede hacer en C#, simplemente no puede usar la sintaxis ingeniosa.

+0

estoy de acuerdo contigo pero ya tengo programm escribiendo en C++/CLI – Xaver

0

Según What's New in Visual C++ 2010 puede usar expresiones lambda solo en VS2010.

+0

¿Qué pasa si tengo vs-2008? ¿cómo puedo usar WindowsFormsSynchronizationContext.Post? – Xaver

+1

No creo que pregunte por C++ 0x lambdas, está preguntando sobre el uso de .NET lambdas de C++/CLI –

+1

sí, pregunto sobre el uso de .NET lambdas de C++/CLI. – Xaver

1

he encontrado esta respuesta de un Microsoft employee on the vc blog a una pregunta sobre C++ lambda 0x y el código administrado interoperabilidad:

sólo se puede pasar una variable con un tipo administrado como argumento a una lambda - no puede capturar una variable que tiene un tipo gestionado. No tenemos planes de "fusionar" lambdas y delegados.