OSDN Git Service

イベントハンドラーに Action を使用している箇所を EventHandler<T> に置き換える (CA1003)
authorKimura Youichi <kim.upsilon@bucyou.net>
Fri, 11 Jul 2014 15:31:24 +0000 (00:31 +0900)
committerKimura Youichi <kim.upsilon@bucyou.net>
Mon, 21 Jul 2014 06:26:25 +0000 (15:26 +0900)
http://msdn.microsoft.com/ja-jp/library/ms182178.aspx

OpenTween/Tween.cs
OpenTween/Twitter.cs

index 4cfccaa..cd8d55d 100644 (file)
@@ -12587,7 +12587,7 @@ namespace OpenTween
 #region "Userstream"
         private bool _isActiveUserstream = false;
 
-        private void tw_PostDeleted(long id)
+        private void tw_PostDeleted(object sender, PostDeletedEventArgs e)
         {
             try
             {
@@ -12595,12 +12595,12 @@ namespace OpenTween
                 {
                     Invoke((Action) (() =>
                            {
-                               _statuses.RemovePostReserve(id);
-                               if (_curTab != null && _statuses.Tabs[_curTab.Text].Contains(id))
+                               _statuses.RemovePostReserve(e.StatusId);
+                               if (_curTab != null && _statuses.Tabs[_curTab.Text].Contains(e.StatusId))
                                {
                                    this.PurgeListViewItemCache();
                                    ((DetailsListView)_curTab.Tag).Update();
-                                   if (_curPost != null && _curPost.StatusId == id) DispSelectedPost(true);
+                                   if (_curPost != null && _curPost.StatusId == e.StatusId) DispSelectedPost(true);
                                }
                            }));
                     return;
@@ -12616,7 +12616,7 @@ namespace OpenTween
             }
         }
 
-        private void tw_NewPostFromStream()
+        private void tw_NewPostFromStream(object sender, EventArgs e)
         {
             if (SettingDialog.ReadOldPosts)
             {
@@ -12676,14 +12676,14 @@ namespace OpenTween
             }
         }
 
-        private void tw_UserStreamStarted()
+        private void tw_UserStreamStarted(object sender, EventArgs e)
         {
             this._isActiveUserstream = true;
             try
             {
                 if (InvokeRequired && !IsDisposed)
                 {
-                    Invoke(new MethodInvoker(tw_UserStreamStarted));
+                    Invoke((Action)(() => this.tw_UserStreamStarted(sender, e)));
                     return;
                 }
             }
@@ -12704,14 +12704,14 @@ namespace OpenTween
             StatusLabel.Text = "UserStream Started.";
         }
 
-        private void tw_UserStreamStopped()
+        private void tw_UserStreamStopped(object sender, EventArgs e)
         {
             this._isActiveUserstream = false;
             try
             {
                 if (InvokeRequired && !IsDisposed)
                 {
-                    Invoke(new MethodInvoker(tw_UserStreamStopped));
+                    Invoke((Action)(() => this.tw_UserStreamStopped(sender, e)));
                     return;
                 }
             }
@@ -12732,13 +12732,13 @@ namespace OpenTween
             StatusLabel.Text = "UserStream Stopped.";
         }
 
-        private void tw_UserStreamEventArrived(Twitter.FormattedEvent ev)
+        private void tw_UserStreamEventArrived(object sender, UserStreamEventReceivedEventArgs e)
         {
             try
             {
                 if (InvokeRequired && !IsDisposed)
                 {
-                    Invoke(new Action<Twitter.FormattedEvent>(tw_UserStreamEventArrived), ev);
+                    Invoke((Action)(() => this.tw_UserStreamEventArrived(sender, e)));
                     return;
                 }
             }
@@ -12750,6 +12750,7 @@ namespace OpenTween
             {
                 return;
             }
+            var ev = e.EventData;
             StatusLabel.Text = "Event: " + ev.Event;
             //if (ev.Event == "favorite")
             //{
index 04788af..e7550aa 100644 (file)
@@ -3305,11 +3305,11 @@ namespace OpenTween
             }
         }
 
-        public event Action NewPostFromStream;
-        public event Action UserStreamStarted;
-        public event Action UserStreamStopped;
-        public event Action<long> PostDeleted;
-        public event Action<FormattedEvent> UserStreamEventReceived;
+        public event EventHandler NewPostFromStream;
+        public event EventHandler UserStreamStarted;
+        public event EventHandler UserStreamStopped;
+        public event EventHandler<PostDeletedEventArgs> PostDeleted;
+        public event EventHandler<UserStreamEventReceivedEventArgs> UserStreamEventReceived;
         private DateTime _lastUserstreamDataReceived;
         private TwitterUserstream userStream;
 
@@ -3406,20 +3406,18 @@ namespace OpenTween
                         {
                             id = 0;
                             long.TryParse(xElm.Element("delete").Element("direct_message").Element("id").Value, out id);
-                            if (PostDeleted != null)
-                            {
-                                PostDeleted(id);
-                            }
+
+                            if (this.PostDeleted != null)
+                                this.PostDeleted(this, new PostDeletedEventArgs(id));
                         }
                         else if (xElm.Element("delete").Element("status") != null &&
                             xElm.Element("delete").Element("status").Element("id") != null)
                         {
                             id = 0;
                             long.TryParse(xElm.Element("delete").Element("status").Element("id").Value, out id);
-                            if (PostDeleted != null)
-                            {
-                                PostDeleted(id);
-                            }
+
+                            if (this.PostDeleted != null)
+                                this.PostDeleted(this, new PostDeletedEventArgs(id));
                         }
                         else
                         {
@@ -3482,10 +3480,8 @@ namespace OpenTween
                 MyCommon.TraceOut("NullRef StatusArrived: " + line);
             }
 
-            if (NewPostFromStream != null)
-            {
-                NewPostFromStream();
-            }
+            if (this.NewPostFromStream != null)
+                this.NewPostFromStream(this, EventArgs.Empty);
         }
 
         private void CreateEventFromJson(string content)
@@ -3612,26 +3608,21 @@ namespace OpenTween
                     break;
             }
             this.StoredEvent.Insert(0, evt);
-            if (UserStreamEventReceived != null)
-            {
-                UserStreamEventReceived(evt);
-            }
+
+            if (this.UserStreamEventReceived != null)
+                this.UserStreamEventReceived(this, new UserStreamEventReceivedEventArgs(evt));
         }
 
         private void userStream_Started()
         {
-            if (UserStreamStarted != null)
-            {
-                UserStreamStarted();
-            }
+            if (this.UserStreamStarted != null)
+                this.UserStreamStarted(this, EventArgs.Empty);
         }
 
         private void userStream_Stopped()
         {
-            if (UserStreamStopped != null)
-            {
-                UserStreamStopped();
-            }
+            if (this.UserStreamStopped != null)
+                this.UserStreamStopped(this, EventArgs.Empty);
         }
 
         public bool UserStreamEnabled
@@ -3661,10 +3652,8 @@ namespace OpenTween
             userStream = null;
             if (!MyCommon._endingFlag)
             {
-                if (UserStreamStopped != null)
-                {
-                    UserStreamStopped();
-                }
+                if (this.UserStreamStopped != null)
+                    this.UserStreamStopped(this, EventArgs.Empty);
             }
         }
 
@@ -3940,4 +3929,34 @@ namespace OpenTween
         }
 #endregion
     }
+
+    public class PostDeletedEventArgs : EventArgs
+    {
+        public long StatusId
+        {
+            get { return this.statusId; }
+        }
+
+        private readonly long statusId;
+
+        public PostDeletedEventArgs(long statusId)
+        {
+            this.statusId = statusId;
+        }
+    }
+
+    public class UserStreamEventReceivedEventArgs : EventArgs
+    {
+        public Twitter.FormattedEvent EventData
+        {
+            get { return this.eventData; }
+        }
+
+        private readonly Twitter.FormattedEvent eventData;
+
+        public UserStreamEventReceivedEventArgs(Twitter.FormattedEvent eventData)
+        {
+            this.eventData = eventData;
+        }
+    }
 }