Chủ đề của tiện ích mở rộng này có an toàn không?Chủ đề của tiện ích mở rộng có an toàn không?
public static class Extensions
{
public static void Raise<T>(this EventHandler<T> handler,
object sender, T args) where T : EventArgs
{
if (handler != null) handler(sender, args);
}
}
hoặc tôi có cần thay đổi không?
public static class Extensions
{
public static void Raise<T>(this EventHandler<T> handler,
object sender, T args) where T : EventArgs
{
var h = handler;
if (h!= null) h(sender, args);
}
}
chi tiết thiết kế và triển khai các sự kiện liên quan đến luồng http://stackoverflow.com/questions/786383/c-events-and-thread-safety – user44298