{"description":"\u30cd\u30bf\u5143\u2192\u3061\u3087\u3063\u3068\u30a4\u30b1\u3066\u308bINotifyPropertyChanged\u306e\u5b9f\u88c5 - present\u4e0a\u306e\u8a18\u4e8b\u3092\u8aad\u307f\u8fd4\u3057\u3066\u3044\u3066\u3001\u3075\u3068\u601d\u3063\u305f\u3002\u30a4\u30d9\u30f3\u30c8\u3092\u767a\u751f\u3055\u305b\u308b EventHandler \u62e1\u5f35\u30e1\u30bd\u30c3\u30c9\u3092\u7528\u610f\u3059\u308c\u3070\u3001\u3044\u308d\u3093\u306a\u3068\u3053\u308d\u3067\u4f7f\u3048\u308b\u3093\u3058\u3083\u306a\u3044\u304b\uff1f public static class EventHandlerExtensions { // EventHandler<T> \u7528\u62e1\u5f35\u30e1\u30bd\u30c3\u30c9\u3002 // \u30a4\u30d9\u30f3\u30c8\u3092\u767a\u751f\u3055\u305b\u308b\u3002 public static void Raise<T>(this EventHandler<T> self, object sender, T e) where T : Event\u2026","title":"\u30a4\u30d9\u30f3\u30c8\u3092\u767a\u751f\u3055\u305b\u308bEventHandler<T>\u7528\u62e1\u5f35\u30e1\u30bd\u30c3\u30c9","published":"2010-01-05 00:00:00","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftnakamura.hatenablog.com%2Fentry%2F20100105%2Fevent_handler_extension_method\" title=\"\u30a4\u30d9\u30f3\u30c8\u3092\u767a\u751f\u3055\u305b\u308bEventHandler&lt;T&gt;\u7528\u62e1\u5f35\u30e1\u30bd\u30c3\u30c9 - present\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","type":"rich","version":"1.0","image_url":null,"categories":["C#"],"provider_url":"https://hatena.blog","url":"https://tnakamura.hatenablog.com/entry/20100105/event_handler_extension_method","author_url":"https://blog.hatena.ne.jp/griefworker/","provider_name":"Hatena Blog","blog_title":"present","width":"100%","height":"190","author_name":"griefworker","blog_url":"https://tnakamura.hatenablog.com/"}