{"id":6334,"date":"2019-01-09T23:50:31","date_gmt":"2019-01-09T14:50:31","guid":{"rendered":"http:\/\/www.code-magagine.com\/?p=6334"},"modified":"2023-05-28T08:48:12","modified_gmt":"2023-05-27T23:48:12","slug":"%e3%80%90visual-basic%e3%80%91%e3%80%8c%e3%82%a4%e3%83%99%e3%83%b3%e3%83%88%e3%80%8d%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6","status":"publish","type":"post","link":"http:\/\/www.code-magagine.com\/?p=6334","title":{"rendered":"\u3010VB.NET\/C#\u3011\u300c\u30a4\u30d9\u30f3\u30c8\u300d\u306b\u3064\u3044\u3066"},"content":{"rendered":"<h2>\u30a4\u30d9\u30f3\u30c8\u3068\u306f\uff1f<\/h2>\n<p>\u300c\u30de\u30a6\u30b9\u30af\u30ea\u30c3\u30af\u300d\u3084\u300c\u30ad\u30fc\u30dc\u30fc\u30c9\u306e\u30ad\u30fc\u304c\u62bc\u3055\u308c\u308b\u300d\u7b49\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u30a4\u30d9\u30f3\u30c8\u3068\u547c\u3073\u307e\u3059\u3002<\/p>\n<h2>\u30a4\u30d9\u30f3\u30c8\u30cf\u30f3\u30c9\u30e9\u3068\u306f\uff1f<\/h2>\n<p>\u30a4\u30d9\u30f3\u30c8\u304c\u8d77\u304d\u308b\u3053\u3068\u3092\u76e3\u8996\u3057\u3066\u3001<span style=\"color: #ff0000;\"><strong>\u30a4\u30d9\u30f3\u30c8\u306b\u5bfe\u5fdc\u3057\u305f\u7279\u5225\u306a\u30e1\u30bd\u30c3\u30c9\u306e\u3053\u3068<\/strong><\/span>\u3067\u3059\u3002<\/p>\n<h2>\u30a4\u30d9\u30f3\u30c8\u306e\u4ed5\u7d44\u307f<\/h2>\n<p><span style=\"color: #ff0000;\"><strong>\u30a4\u30d9\u30f3\u30c8\u3068\u30a4\u30d9\u30f3\u30c8\u30cf\u30f3\u30c9\u30e9\u306e\u7d50\u3073\u3064\u3051\u306e\u305f\u3081\u306b\u30c7\u30ea\u30b2\u30fc\u30c8\u306e\u4ed5\u7d44\u307f<\/strong><\/span>\u3092\u5229\u7528\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<h2>\u30a4\u30d9\u30f3\u30c8\u306b\u304a\u3051\u308b\u69cb\u6587<\/h2>\n<h3>\u30a4\u30d9\u30f3\u30c8\u3092\u767a\u751f\u3055\u305b\u308b\u5074<\/h3>\n<h4>\u30a4\u30d9\u30f3\u30c8\u306e\u5b9a\u7fa9<\/h4>\n<pre class=\"lang:default decode:true\">Event \u30a4\u30d9\u30f3\u30c8\u540d<\/pre>\n<h4>\u30a4\u30d9\u30f3\u30c8\u3092\u767a\u751f\u3055\u305b\u308b<\/h4>\n<pre class=\"lang:default decode:true \">RaiseEvent \u30a4\u30d9\u30f3\u30c8\u540d<\/pre>\n<h3>\u30a4\u30d9\u30f3\u30c8\u3092\u53d7\u3051\u53d6\u308b\u5074<\/h3>\n<h4>\u30a4\u30d9\u30f3\u30c8\u304c\u767a\u751f\u3059\u308b\u30af\u30e9\u30b9\u5ba3\u8a00<\/h4>\n<p>\u30d7\u30ed\u30b0\u30e9\u30e0\u5185\u3067\u4f7f\u3044\u305f\u3044\u30a4\u30d9\u30f3\u30c8\u3092\u6700\u521d\u306b\u5b9a\u7fa9\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"lang:default decode:true \">WithEvents \u5909\u6570\u540d As \u30a4\u30d9\u30f3\u30c8\u3092\u6301\u3064\u30af\u30e9\u30b9<\/pre>\n<h4>\u30a4\u30d9\u30f3\u30c8\u3092\u51e6\u7406\u3059\u308b\u30a4\u30d9\u30f3\u30c8\u30cf\u30f3\u30c9\u30e9\u306e\u5b9a\u7fa9<\/h4>\n<h5>\u30a4\u30d9\u30f3\u30c8\u3092\u9759\u7684\u306b\u95a2\u9023\u4ed8\u3051\u305f\u3044\u5834\u5408<\/h5>\n<p>\u5b9f\u969b\u306b\u30a4\u30d9\u30f3\u30c8\u304c\u767a\u751f\u3057\u305f\u969b\u306b\u3001\u5b9f\u884c\u3057\u305f\u3044\u51e6\u7406\u3092\u8a18\u8ff0\u3057\u307e\u3059\u3002<\/p>\n<p>\u30e1\u30bd\u30c3\u30c9\u306b\u56fa\u5b9a\u3067\u30a4\u30d9\u30f3\u30c8\u3092\u7d10\u3065\u3051\u308b\u3053\u3068\u306b\u306a\u308b\u306e\u3067\u3001<span style=\"color: #ff0000;\"><strong>\u9759\u7684\u306a\u7d10\u3065\u3051<\/strong><\/span>\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"lang:default decode:true \">[\u30a2\u30af\u30bb\u30b9\u4fee\u98fe\u5b50] Sub \u30e1\u30bd\u30c3\u30c9\u540d Handles WithEvents\u3067\u5b9a\u7fa9\u3057\u305f\u5909\u6570\u540d\r\nEnd Sub<\/pre>\n<h5>\u30a4\u30d9\u30f3\u30c8\u3092\u52d5\u7684\u306b\u95a2\u9023\u4ed8\u3051\u305f\u3044\u5834\u5408<\/h5>\n<p>\u3053\u306e\u8a18\u8ff0\u3067\u3042\u308c\u3070\u3001\u30d7\u30ed\u30b0\u30e9\u30e0\u5185\u3067\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u30a4\u30d9\u30f3\u30c8\u3068\u30a4\u30d9\u30f3\u30c8\u30cf\u30f3\u30c9\u30e9\u3092<span style=\"color: #ff0000;\"><strong>\u72b6\u6cc1\u306b\u5fdc\u3058\u3066<\/strong><\/span>\u95a2\u9023\u3065\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u307e\u305f\u3001<span style=\"color: #ff0000;\"><strong>\u4e00\u3064\u306e\u30a4\u30d9\u30f3\u30c8\u306b\u5bfe\u3057\u3066\u3001\u8907\u6570\u306e\u30a4\u30d9\u30f3\u30c8\u30cf\u30f3\u30c9\u30e9\u3092\u95a2\u9023\u4ed8\u3051\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002<\/strong><\/span><\/p>\n<pre class=\"lang:default decode:true \">AddHandler \u30a4\u30d9\u30f3\u30c8\u540d,AddressOf \u30a4\u30d9\u30f3\u30c8\u30cf\u30f3\u30c9\u30e9\u540d<\/pre>\n<h2>\u30b5\u30f3\u30d7\u30eb<\/h2>\n<h3>\u30a4\u30d9\u30f3\u30c8\uff08\u30ea\u30c8\u30e9\u30a4\u7528\u306e\u5171\u901a\u30af\u30e9\u30b9\u3092\u4f5c\u308a\u307e\u3059\u3002\uff09<\/h3>\n<pre class=\"lang:default decode:true\">Public Class EventRetry\r\n    '\u30a4\u30d9\u30f3\u30c8\u306e\u5ba3\u8a00\r\n    Public Event targetMethod()\r\n\r\n    Public Sub CommonRetry()\r\n        '\u51e6\u7406\u3092\u30ea\u30c8\u30e9\u30a4\u3055\u305b\u308b\u3002\r\n        For i = 0 To 2\r\n            '\u30a4\u30d9\u30f3\u30c8\u3092\u767a\u751f\u3055\u305b\u308b\r\n            RaiseEvent targetMethod()\r\n        Next\r\n    End Sub\r\nEnd Class<\/pre>\n<h3>\u547c\u3073\u5143\u306e\u30af\u30e9\u30b9\uff08\u7528\u610f\u3057\u305f\u30e1\u30bd\u30c3\u30c9\u3092\u30ea\u30c8\u30e9\u30a4\u3055\u305b\u307e\u3059\u3002\uff09<\/h3>\n<pre class=\"lang:default decode:true\">Module Module1\r\n\r\n    Sub retry1()\r\n        Console.WriteLine(\"\u30ea\u30c8\u30e9\u30a4\u30c6\u30b9\u30c81\")\r\n    End Sub\r\n\r\n    Sub retry2()\r\n        Console.WriteLine(\"\u30ea\u30c8\u30e9\u30a4\u30c6\u30b9\u30c82\")\r\n    End Sub\r\n\r\n    Sub Main()\r\n        Dim retry As New EventRetry\r\n        'targetMethod\u30a4\u30d9\u30f3\u30c8\u306b\u3001retry1\u3092\u52d5\u7684\u306b\u7d50\u3073\u3064\u3051\u308b\r\n        AddHandler retry.targetMethod, AddressOf retry1\r\n\r\n        'TestMethod\u3092\u5b9f\u884c\r\n        retry.CommonRetry()\r\n\r\n        'targetMethod\u30a4\u30d9\u30f3\u30c8\u306b\u7d50\u3073\u3064\u3044\u3066\u3044\u308b\u3001retry1\u3092\u524a\u9664\r\n        RemoveHandler retry.targetMethod, AddressOf retry1\r\n\r\n        'targetMethod\u30a4\u30d9\u30f3\u30c8\u306b\u3001retry2\u3092\u52d5\u7684\u306b\u7d50\u3073\u3064\u3051\u308b\r\n        AddHandler retry.targetMethod, AddressOf retry2\r\n\r\n        'Test\u30e1\u30bd\u30c3\u30c9\u3092\u5b9f\u884c\r\n        retry.CommonRetry()\r\n\r\n        Console.ReadLine()\r\n  End Sub\r\n\r\nEnd Module<\/pre>\n<h2>C#\u3067\u306e\u30a4\u30d9\u30f3\u30c8\u306e\u5b9f\u88c5<\/h2>\n<p>\u540c\u69d8\u306e\u3053\u3068\u3092C#\u3067\u3084\u308b\u5834\u5408\u306f\u4e0b\u8a18\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<h3>\u30b5\u30f3\u30d7\u30eb<\/h3>\n<h4>\u547c\u3073\u51fa\u3057\u5143\u306e\u30af\u30e9\u30b9<\/h4>\n<pre class=\"lang:default decode:true\">using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading.Tasks;\r\n\r\nnamespace ConsoleApp1\r\n{\r\n    class Program\r\n    {\r\n\r\n        static void Main(string[] args)\r\n        {\r\n            \/\/\u30a4\u30d9\u30f3\u30c8\u304c\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u30af\u30e9\u30b9\u3092\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u3059\u308b\u3002\r\n            EventRetry retryClass = new EventRetry();\r\n            Program prog = new Program();\r\n\r\n            \/\/\u30a4\u30d9\u30f3\u30c8\u3092\u7d10\u3065\u3051\u308b\u3002\r\n            retryClass.targetMethod += prog.retry1;\r\n            retryClass.commonRetry();\r\n            \/\/\u30a4\u30d9\u30f3\u30c8\u3092\u524a\u9664\r\n            retryClass.targetMethod -= prog.retry1;\r\n            \/\/\u30a4\u30d9\u30f3\u30c8\u3092\u65b0\u305f\u306b\u7d10\u3065\u3051\u308b\u3002\r\n            retryClass.targetMethod += prog.retry2;\r\n            retryClass.commonRetry();\r\n            Console.ReadKey();\r\n        }\r\n\r\n        void retry1()\r\n        {\r\n            Console.WriteLine(\"\u30ea\u30c8\u30e9\u30a4\u30c6\u30b9\u30c81\");\r\n        }\r\n\r\n        void retry2()\r\n        {\r\n            Console.WriteLine(\"\u30ea\u30c8\u30e9\u30a4\u30c6\u30b9\u30c82\");\r\n        }\r\n    }\r\n}<\/pre>\n<h4>\u30a4\u30d9\u30f3\u30c8\u3092\u5b9a\u7fa9\u3059\u308b\u30af\u30e9\u30b9<\/h4>\n<pre class=\"lang:default decode:true  \">using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading.Tasks;\r\n\r\nnamespace ConsoleApp1\r\n{\r\n    class EventRetry\r\n    {\r\n        \/\/\u30a4\u30d9\u30f3\u30c8\u3092\u5b9a\u7fa9\u3059\u308b(\u30c7\u30ea\u30b2\u30fc\u30c8)\r\n        public event Action targetMethod;\r\n\r\n        public void commonRetry()\r\n        {\r\n            \/\/\u30ea\u30c8\u30e9\u30a4\r\n            for (int i = 0; i &lt; 2; i++)\r\n            {\r\n                \/\/\u30a4\u30d9\u30f3\u30c8\u3092\u767a\u751f\u3055\u305b\u308b\r\n                targetMethod();\r\n            }\r\n        }\r\n    }\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"\u30a4\u30d9\u30f3\u30c8\u3068\u306f\uff1f \u300c\u30de\u30a6\u30b9\u30af\u30ea\u30c3\u30af\u300d\u3084\u300c\u30ad\u30fc\u30dc\u30fc\u30c9\u306e\u30ad\u30fc\u304c\u62bc\u3055\u308c\u308b\u300d\u7b49\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u30a4\u30d9\u30f3\u30c8\u3068\u547c\u3073\u307e\u3059\u3002 \u30a4\u30d9\u30f3\u30c8\u30cf\u30f3\u30c9\u30e9\u3068\u306f\uff1f \u30a4\u30d9\u30f3\u30c8\u304c\u8d77\u304d\u308b\u3053\u3068\u3092\u76e3\u8996\u3057\u3066\u3001\u30a4\u30d9\u30f3\u30c8\u306b\u5bfe\u5fdc\u3057\u305f\u7279\u5225\u306a\u30e1\u30bd\u30c3\u30c9\u306e\u3053\u3068\u3067\u3059\u3002 \u30a4\u30d9\u30f3\u30c8\u306e\u4ed5\u7d44 [&hellip;]","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[158],"tags":[],"_links":{"self":[{"href":"http:\/\/www.code-magagine.com\/index.php?rest_route=\/wp\/v2\/posts\/6334"}],"collection":[{"href":"http:\/\/www.code-magagine.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.code-magagine.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.code-magagine.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.code-magagine.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6334"}],"version-history":[{"count":14,"href":"http:\/\/www.code-magagine.com\/index.php?rest_route=\/wp\/v2\/posts\/6334\/revisions"}],"predecessor-version":[{"id":20797,"href":"http:\/\/www.code-magagine.com\/index.php?rest_route=\/wp\/v2\/posts\/6334\/revisions\/20797"}],"wp:attachment":[{"href":"http:\/\/www.code-magagine.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.code-magagine.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6334"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.code-magagine.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}