2010-04-15 37 views
6

Làm thế nào để sử dụng các biểu thức lambda trong C++/CLI?Lambdas trong C++/CLI

+1

Ý bạn là CLI? – wRAR

+0

Một C++ whicn được sử dụng trong studio trực quan (trong đó tôi có thể sử dụng thư viện .net) i port system linq và bây giờ tôi muốn sử dụng một số hàm sử dụng biểu thức lamda trên C# như WindowsFormsSynchronizationContext.Post – Xaver

Trả lời

3

Trong C#, lambdas thực sự chỉ là cú pháp để tạo đại biểu. C++/CLI supports delegates, vì vậy bạn vẫn có thể thực hiện tất cả các công cụ tương tự trong C++/CLI mà bạn có thể thực hiện trong C#, bạn không thể sử dụng cú pháp tiện lợi.

+0

tôi đồng ý với bạn nhưng tôi đã có programm writting trên C + +/CLI – Xaver

0

Theo What's New in Visual C++ 2010 bạn chỉ có thể sử dụng biểu thức lambda trong VS2010.

+0

nếu tôi có vs-2008 thì sao? làm thế nào tôi có thể sử dụng WindowsFormsSynchronizationContext.Post? – Xaver

+1

Tôi không nghĩ rằng anh ấy hỏi về C++ 0x lambdas, anh ấy hỏi về việc sử dụng .NET lambdas từ C++/CLI –

+1

vâng tôi hỏi về việc sử dụng .NET lambdas từ C++/CLI. – Xaver

1

tôi đã tìm thấy câu trả lời này từ một Microsoft employee on the vc blog cho một câu hỏi liên quan đến C++ 0x lambda và quản lý mã khả năng tương tác:

Bạn chỉ có thể vượt qua một biến với một loại quản lý như một tham số để một lambda - bạn không thể chụp một biến số có loại được quản lý. Chúng tôi không có kế hoạch "hợp nhất" lambdas và đại biểu.