È possibile gestire un evento con un lambda in C++/CX? Ad esempio, quale sarebbe il modo migliore per convertire questo snippet di codice da C# in C++/CX?Posso gestire un evento con un lambda in C++/CX?
this.animation.Completed += (s, e) =>
{
animation.Begin();
};
Se ho capito che ThomasP di cui sopra non lo catturerebbe con ref forte e quindi creerebbe un riferimento circolare creando una potenziale perdita di memoria. http://msdn.microsoft.com/en-US/library/windows/apps/hh699859.aspx sembra implicare che dovresti catturarlo usando WeakReference? – FuleSnabel
È spiacevole che gli eventi utilizzino riferimenti forti. Quando vorrei un evento per mantenere vivo un oggetto? Questa è una delle mie poche lamentele su C#. –
Sono della stessa opinione e sospetto che sia per questo che hanno introdotto IWeakEventListener in WPF. Comunque è un clunk. (Dovrebbero anche aver reso i valori nulli IMHO non sicuri) – FuleSnabel