Có thể xử lý sự kiện với lambda bằng C++/CX không? Ví dụ, cách tốt nhất để chuyển đổi đoạn mã này từ C# thành C++/CX là gì?Tôi có thể xử lý một sự kiện với lambda bằng C++/CX không?
this.animation.Completed += (s, e) =>
{
animation.Begin();
};
Nếu tôi hiểu ThomasP ở trên sẽ không chụp được điều này bằng cách ref mạnh và do đó tạo tham chiếu vòng tròn tạo ra rò rỉ bộ nhớ tiềm ẩn. http://msdn.microsoft.com/en-US/library/windows/apps/hh699859.aspx dường như ngụ ý bạn nên nắm bắt điều này bằng cách sử dụng WeakReference? – FuleSnabel
Thật không may là các sự kiện sử dụng tham chiếu mạnh mẽ. Khi nào tôi muốn một sự kiện để giữ một vật thể còn sống? Đó là một trong số ít những phàn nàn của tôi về C#. –
Tôi cùng quan điểm và tôi nghi ngờ đó là lý do tại sao họ giới thiệu IWeakEventListener trong WPF. Đó là clunk mặc dù. (họ cũng nên thực hiện các giá trị null không an toàn IMHO) – FuleSnabel