• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

LINQ To TwitterのUserStreamをもっと使いやすくしようとか妄想してるプロジェクト


Commit MetaInfo

Revision9efa49f118d8d8f97e2ef9bf6b9abeaf8bbcae6a (tree)
Zeit2011-02-09 20:29:48
Autorazyobuzin <azyobuzin@user...>
Commiterazyobuzin

Log Message

XMLコメントをつけた

Ändern Zusammenfassung

Diff

--- a/UserStreamEx/EventArgs.cs
+++ b/UserStreamEx/EventArgs.cs
@@ -6,22 +6,40 @@ using LinqToTwitter;
66
77 namespace Azyobuzi.UserStreamEx
88 {
9+ /// <summary>
10+ /// <see cref="UserStream.Stopped"/>イベントのデータを提供します。
11+ /// </summary>
912 public class StoppedEventArgs : EventArgs
1013 {
14+ /// <summary>
15+ /// 新しい<see cref="StoppedEventArgs"/>クラスのインスタンスを初期化します。
16+ /// </summary>
17+ /// <param name="reason">切断された理由</param>
18+ /// <param name="ex">発生したエラー。null可。</param>
1119 public StoppedEventArgs(StopReason reason, Exception ex)
1220 {
1321 this.Reason = reason;
1422 this.Exception = ex;
1523 }
1624
25+ /// <summary>
26+ /// 切断された理由
27+ /// </summary>
1728 public StopReason Reason { private set; get; }
29+
30+ /// <summary>
31+ /// 発生したエラー。<see cref="Reason"/>が<see cref="StopReason.CloseResponse"/>の場合はnull参照です。
32+ /// </summary>
1833 public Exception Exception { private set; get; }
1934 }
2035
36+ /// <summary>
37+ /// 切断された理由
38+ /// </summary>
2139 public enum StopReason
2240 {
2341 /// <summary>
24- /// Twitterが切断
42+ /// Twitterが切断した
2543 /// </summary>
2644 CloseResponse,
2745 /// <summary>
@@ -29,45 +47,82 @@ namespace Azyobuzi.UserStreamEx
2947 /// </summary>
3048 UserStop,
3149 /// <summary>
32- /// その他の例外
50+ /// 例外が発生した
3351 /// </summary>
3452 Error
3553 }
3654
55+ /// <summary>
56+ /// Twitterから受信したJSONデータを提供します。
57+ /// </summary>
3758 public class ReceiveJsonEventArgs : EventArgs
3859 {
60+ /// <summary>
61+ /// <see cref="ReceiveJsonEventArgs"/>クラスのインスタンスを初期化します。
62+ /// </summary>
63+ /// <param name="line">1行のJSON形式のデータ</param>
3964 public ReceiveJsonEventArgs(string line)
4065 {
4166 this.Line = line;
4267 }
4368
69+ /// <summary>
70+ /// 1行のJSON形式のデータ
71+ /// </summary>
4472 public string Line { private set; get; }
4573 }
4674
75+ /// <summary>
76+ /// <see cref="UserStream.ReceiveFriends"/>イベントのデータを提供します。
77+ /// </summary>
4778 public class ReceiveFriendsEventArgs : ReceiveJsonEventArgs
4879 {
80+ /// <summary>
81+ /// JSONを指定して<see cref="ReceiveFriendsEventArgs"/>クラスのインスタンスを初期化します。
82+ /// </summary>
83+ /// <param name="line">friendsリストが含まれたJSON形式のデータ</param>
4984 public ReceiveFriendsEventArgs(string line)
5085 : base(line)
5186 {
5287 FriendIds = (string[])DynamicJson.Parse(line).friends;
5388 }
5489
90+ /// <summary>
91+ /// friends(following)のIDリスト
92+ /// </summary>
5593 public string[] FriendIds { private set; get; }
5694 }
5795
96+ /// <summary>
97+ /// <see cref="UserStream.NewTweet"/>イベントのデータを提供します。
98+ /// </summary>
5899 public class NewTweetEventArgs : ReceiveJsonEventArgs
59100 {
101+ /// <summary>
102+ /// JSONを指定して<see cref="NewTweetEventArgs"/>クラスのインスタンスを初期化します。
103+ /// </summary>
104+ /// <param name="line">ステータスが含まれたJSON形式のデータ</param>
60105 public NewTweetEventArgs(string line)
61106 : base(line)
62107 {
63108 Status = Status.CreateStatus(line.JsonToXml());
64109 }
65110
111+ /// <summary>
112+ /// 新しいツイート
113+ /// </summary>
66114 public Status Status { private set; get; }
67115 }
68116
117+ /// <summary>
118+ /// <see cref="UserStream.NewDirectMessage"/>イベントのデータを提供します。
119+ /// </summary>
69120 public class NewDirectMessageEventArgs : ReceiveJsonEventArgs
70121 {
122+ /// <summary>
123+ /// JSONを指定して<see cref="NewDirectMessageEventArgs"/>クラスのインスタンスを初期化します。
124+ /// </summary>
125+ /// <param name="line">ダイレクトメッセージが含まれたJSON形式のデータ</param>
71126 public NewDirectMessageEventArgs(string line)
72127 : base(line)
73128 {
@@ -86,11 +141,21 @@ namespace Azyobuzi.UserStreamEx
86141 };
87142 }
88143
144+ /// <summary>
145+ /// 新しいダイレクトメッセージ
146+ /// </summary>
89147 public DirectMessage DirectMessage { private set; get; }
90148 }
91149
150+ /// <summary>
151+ /// <see cref="UserStream.DeleteStatus"/>イベントのデータを提供します。
152+ /// </summary>
92153 public class DeleteStatusEventArgs : ReceiveJsonEventArgs
93154 {
155+ /// <summary>
156+ /// JSONを指定して<see cref="DeleteStatusEventArgs"/>クラスのインスタンスを初期化します。
157+ /// </summary>
158+ /// <param name="line">削除されたステータスのIDが含まれたJSON形式のデータ</param>
94159 public DeleteStatusEventArgs(string line)
95160 : base(line)
96161 {
@@ -111,13 +176,31 @@ namespace Azyobuzi.UserStreamEx
111176 }
112177 }
113178
179+ /// <summary>
180+ /// 削除されたツイート(ダイレクトメッセージ)のID
181+ /// </summary>
114182 public string StatusId { private set; get; }
183+
184+ /// <summary>
185+ /// 削除したユーザーのID(番号)
186+ /// </summary>
115187 public string UserId { private set; get; }
188+
189+ /// <summary>
190+ /// ダイレクトメッセージか
191+ /// </summary>
116192 public bool IsDirectMessage { private set; get; }
117193 }
118194
195+ /// <summary>
196+ /// <see cref="UserStream.ReceiveEvent"/>イベントのデータを提供します。
197+ /// </summary>
119198 public class ReceiveEventEventArgs : ReceiveJsonEventArgs
120199 {
200+ /// <summary>
201+ /// JSONを指定して<see cref="ReceiveEventEventArgs"/>クラスのインスタンスを初期化します。
202+ /// </summary>
203+ /// <param name="line">イベント情報が含まれたJSON形式のデータ</param>
121204 public ReceiveEventEventArgs(string line)
122205 : base(line)
123206 {
@@ -143,37 +226,101 @@ namespace Azyobuzi.UserStreamEx
143226 }
144227 }
145228
229+ /// <summary>
230+ /// イベントの種類
231+ /// </summary>
146232 public EventTypes EventType { private set; get; }
233+ /// <summary>
234+ /// イベントが発生した日時
235+ /// </summary>
147236 public DateTime CreatedAt { private set; get; }
237+ /// <summary>
238+ /// イベントを発生させたユーザー
239+ /// </summary>
148240 public User Source { private set; get; }
241+ /// <summary>
242+ /// イベントの対象のユーザー
243+ /// </summary>
149244 public User Target { private set; get; }
245+ /// <summary>
246+ /// イベントの対象のツイート
247+ /// </summary>
150248 public Status TargetStatus { private set; get; }
249+ /// <summary>
250+ /// イベントの対象のリスト
251+ /// </summary>
151252 public List TargetList { private set; get; }
152253 }
153254
255+ /// <summary>
256+ /// イベントの種類
257+ /// </summary>
154258 public enum EventTypes
155259 {
260+ /// <summary>
261+ /// 不明
262+ /// </summary>
156263 Unknown,
264+ /// <summary>
265+ /// お気に入りに追加した
266+ /// </summary>
157267 Favorite,
268+ /// <summary>
269+ /// お気に入りから削除した
270+ /// </summary>
158271 Unfavorite,
272+ /// <summary>
273+ /// フォローされた
274+ /// </summary>
159275 Follow,
276+ /// <summary>
277+ /// リストに入れられた
278+ /// </summary>
160279 ListMemberAdded,
280+ /// <summary>
281+ /// リストから外された
282+ /// </summary>
161283 ListMemberRemoved,
284+ /// <summary>
285+ /// ブロックに成功した
286+ /// </summary>
162287 Block,
288+ /// <summary>
289+ /// ブロックの解除に成功した
290+ /// </summary>
163291 Unblock,
292+ /// <summary>
293+ /// プロフィールを変更した
294+ /// </summary>
164295 UserUpdate,
296+ /// <summary>
297+ /// リストを作成した
298+ /// </summary>
165299 ListCreated,
300+ /// <summary>
301+ /// リストを削除した
302+ /// </summary>
166303 ListDestroyed
167304 }
168305
306+ /// <summary>
307+ /// <see cref="UserStream.TrackLimit"/>イベントのデータを提供します。
308+ /// </summary>
169309 public class TrackLimitEventArgs : ReceiveJsonEventArgs
170310 {
311+ /// <summary>
312+ /// JSONを指定して<see cref="TrackLimitEventArgs"/>クラスのインスタンスを初期化します。
313+ /// </summary>
314+ /// <param name="line">JSON形式のデータ</param>
171315 public TrackLimitEventArgs(string line)
172316 : base(line)
173317 {
174318 Track = (ulong)DynamicJson.Parse(line).limit.track;
175319 }
176320
321+ /// <summary>
322+ /// マッチしたツイートのインデックス
323+ /// </summary>
177324 public ulong Track { private set; get; }
178325 }
179326 }
--- a/UserStreamEx/Extensions.cs
+++ b/UserStreamEx/Extensions.cs
@@ -6,8 +6,15 @@ using LinqToTwitter;
66
77 namespace Azyobuzi.UserStreamEx
88 {
9+ /// <summary>
10+ /// LINQ to Twitterへの拡張
11+ /// </summary>
912 public static class AddToLinqToTwitter
1013 {
14+ /// <summary>
15+ /// <see cref="LinqToTwitter.TwitterContext"/>から<see cref="Azyobuzi.UserStreamEx.UserStream"/>のインスタンスを作成します。
16+ /// </summary>
17+ /// <param name="twCtx">認証済みの<see cref="LinqToTwitter.TwitterContext"/></param>
1118 public static INotStartedUserStream UserStreamEx(this TwitterContext twCtx)
1219 {
1320 return new UserStream(twCtx.AuthorizedClient);
@@ -16,7 +23,7 @@ namespace Azyobuzi.UserStreamEx
1623
1724 internal static class MyExtensions
1825 {
19- public static XElement JsonToXml(this string json)
26+ internal static XElement JsonToXml(this string json)
2027 {
2128 using (var reader = JsonReaderWriterFactory.CreateJsonReader(Encoding.UTF8.GetBytes(json), XmlDictionaryReaderQuotas.Max))
2229 {
--- a/UserStreamEx/Interfaces.cs
+++ b/UserStreamEx/Interfaces.cs
@@ -1,39 +1,134 @@
11 using System;
2+using System.IO;
23
34 namespace Azyobuzi.UserStreamEx
45 {
6+ /// <summary>
7+ /// 接続されていない状態の<see cref="UserStream"/>クラスを表します。
8+ /// </summary>
59 public interface INotStartedUserStream
610 {
11+ /// <summary>
12+ /// 接続を開始します。
13+ /// </summary>
14+ /// <param name="track">検索キーワードっぽいもの。null可。</param>
15+ /// <param name="allReplies">friendsに対する返信も含めるかどうか</param>
716 IStartedUserStream Start(string track, bool allReplies);
817
18+ /// <summary>
19+ /// 取得したデータを書き込む<see cref="System.IO.TextWriter"/>
20+ /// </summary>
21+ TextWriter StreamingWriter { set; get; }
22+
923 #region Events
24+ /// <summary>
25+ /// 接続を開始するときに発生します。
26+ /// </summary>
1027 event EventHandler Started;
28+ /// <summary>
29+ /// 切断されたときに発生します。
30+ /// </summary>
1131 event EventHandler<StoppedEventArgs> Stopped;
32+ /// <summary>
33+ /// friends(following)のID一覧を受け取ったときに発生します。通常は開始直後に一回だけ発生します。
34+ /// </summary>
1235 event EventHandler<ReceiveFriendsEventArgs> ReceiveFriends;
36+ /// <summary>
37+ /// 新しいツイートを受け取ったときに発生します。
38+ /// </summary>
1339 event EventHandler<NewTweetEventArgs> NewTweet;
40+ /// <summary>
41+ /// 新しいダイレクトメッセージを受信・送信したときに発生します。
42+ /// </summary>
1443 event EventHandler<NewDirectMessageEventArgs> NewDirectMessage;
44+ /// <summary>
45+ /// ツイートまたはダイレクトメッセージが削除されたときに発生します。ハンドラでは直ちに表示から消すような処理をしてください。
46+ /// </summary>
1547 event EventHandler<DeleteStatusEventArgs> DeleteStatus;
48+ /// <summary>
49+ /// イベントを受信したときに発生します。
50+ /// </summary>
1651 event EventHandler<ReceiveEventEventArgs> ReceiveEvent;
52+ /// <summary>
53+ /// Twitter側で処理しきれないツイートがあったときに発生します。
54+ /// </summary>
55+ /// <remarks>詳細不明</remarks>
1756 event EventHandler<TrackLimitEventArgs> TrackLimit;
57+ /// <summary>
58+ /// 対応していないデータを受け取ったときに発生します。
59+ /// </summary>
1860 event EventHandler<ReceiveJsonEventArgs> ReceiveUnsupportedData;
1961 #endregion
2062
2163 #region AddHandlerMethod
64+ /// <summary>
65+ /// <see cref="Started"/>イベントにイベントハンドラを追加します。
66+ /// </summary>
67+ /// <param name="handler">イベントハンドラ</param>
2268 INotStartedUserStream SetStartedEvent(EventHandler handler);
69+ /// <summary>
70+ /// <see cref="Stopped"/>イベントにイベントハンドラを追加します。
71+ /// </summary>
72+ /// <param name="handler">イベントハンドラ</param>
2373 INotStartedUserStream SetStoppedEvent(EventHandler<StoppedEventArgs> handler);
74+ /// <summary>
75+ /// <see cref="ReceiveFriends"/>イベントにイベントハンドラを追加します。
76+ /// </summary>
77+ /// <param name="handler">イベントハンドラ</param>
2478 INotStartedUserStream SetReceiveFriendsEvent(EventHandler<ReceiveFriendsEventArgs> handler);
79+ /// <summary>
80+ /// <see cref="NewTweet"/>イベントにイベントハンドラを追加します。
81+ /// </summary>
82+ /// <param name="handler">イベントハンドラ</param>
2583 INotStartedUserStream SetNewTweetEvent(EventHandler<NewTweetEventArgs> handler);
84+ /// <summary>
85+ /// <see cref="NewDirectMessage"/>イベントにイベントハンドラを追加します。
86+ /// </summary>
87+ /// <param name="handler">イベントハンドラ</param>
2688 INotStartedUserStream SetNewDirectMessageEvent(EventHandler<NewDirectMessageEventArgs> handler);
89+ /// <summary>
90+ /// <see cref="DeleteStatus"/>イベントにイベントハンドラを追加します。
91+ /// </summary>
92+ /// <param name="handler">イベントハンドラ</param>
2793 INotStartedUserStream SetDeleteStatusEvent(EventHandler<DeleteStatusEventArgs> handler);
94+ /// <summary>
95+ /// <see cref="ReceiveEvent"/>イベントにイベントハンドラを追加します。
96+ /// </summary>
97+ /// <param name="handler">イベントハンドラ</param>
2898 INotStartedUserStream SetReceiveEventEvent(EventHandler<ReceiveEventEventArgs> handler);
99+ /// <summary>
100+ /// <see cref="TrackLimit"/>イベントにイベントハンドラを追加します。
101+ /// </summary>
102+ /// <param name="handler">イベントハンドラ</param>
29103 INotStartedUserStream SetTrackLimitEvent(EventHandler<TrackLimitEventArgs> handler);
104+ /// <summary>
105+ /// <see cref="ReceiveUnsupportedData"/>イベントにイベントハンドラを追加します。
106+ /// </summary>
107+ /// <param name="handler">イベントハンドラ</param>
30108 INotStartedUserStream SetReceiveUnsupportedDataEvent(EventHandler<ReceiveJsonEventArgs> handler);
31109 #endregion
32110 }
33111
34- public interface IStartedUserStream
112+ /// <summary>
113+ /// 接続されていて、Timeoutが設定された<see cref="UserStream"/>クラスを表します。
114+ /// </summary>
115+ public interface ISetedTimeoutUserStream
35116 {
117+ /// <summary>
118+ /// 切断してStoppedイベントを発生させます。
119+ /// </summary>
36120 INotStartedUserStream Stop();
37- IStartedUserStream SetTimeout(int waitTime);
121+ }
122+
123+ /// <summary>
124+ /// 接続されている状態の<see cref="UserStream"/>クラスを表します。
125+ /// </summary>
126+ public interface IStartedUserStream : ISetedTimeoutUserStream
127+ {
128+ /// <summary>
129+ /// 指定した時間が経過したら切断するように設定します。
130+ /// </summary>
131+ /// <param name="waitTime">切断するまでの時間(ミリ秒単位)。0以下を指定するとすぐに切断します。</param>
132+ ISetedTimeoutUserStream SetTimeout(int waitTime);
38133 }
39134 }
--- a/UserStreamEx/Readme.txt
+++ b/UserStreamEx/Readme.txt
@@ -21,6 +21,7 @@ LINQ to Twitter用UserStream補助ライブラリ
2121 ・Stopメソッドで停止したときにStoppedEventArgs.ReasonがErrorになる不具合を修正
2222 ・list_createdイベント発生時に例外を吐くのを修正
2323 ・メソッドチェーンでつなげるように改良
24+ ・XMLコメントを付けた
2425 1.0.1 (2011/2/7)
2526 ・DirectMessageを受信したときに例外を吐くのを修正
2627 ・limitに対応
--- a/UserStreamEx/UserStreamEx.cs
+++ b/UserStreamEx/UserStreamEx.cs
@@ -9,9 +9,16 @@ using LinqToTwitter;
99
1010 namespace Azyobuzi.UserStreamEx
1111 {
12+ /// <summary>
13+ /// TwitterのUserStreamをイベントを使って処理します。
14+ /// </summary>
1215 public class UserStream
1316 : INotStartedUserStream, IStartedUserStream
1417 {
18+ /// <summary>
19+ /// <see cref="UserStream"/>クラスの新しいインスタンスを初期化します。
20+ /// </summary>
21+ /// <param name="auth">認証済みの<see cref="LinqToTwitter.ITwitterAuthorizer"/></param>
1522 public UserStream(ITwitterAuthorizer auth)
1623 {
1724 this.auth = auth;
@@ -20,6 +27,11 @@ namespace Azyobuzi.UserStreamEx
2027 private ITwitterAuthorizer auth;
2128 private HttpWebRequest req;
2229
30+ /// <summary>
31+ /// 接続を開始します。
32+ /// </summary>
33+ /// <param name="track">検索キーワードっぽいもの。null可。</param>
34+ /// <param name="allReplies">friendsに対する返信も含めるかどうか</param>
2335 public IStartedUserStream Start(string track, bool allReplies)
2436 {
2537 if (req != null) req.Abort();
@@ -120,6 +132,9 @@ namespace Azyobuzi.UserStreamEx
120132 }
121133 }
122134
135+ /// <summary>
136+ /// 切断してStoppedイベントを発生させます。
137+ /// </summary>
123138 public INotStartedUserStream Stop()
124139 {
125140 if (req != null) req.Abort();
@@ -127,7 +142,11 @@ namespace Azyobuzi.UserStreamEx
127142 return this;
128143 }
129144
130- public IStartedUserStream SetTimeout(int waitTime)
145+ /// <summary>
146+ /// 指定した時間が経過したら切断するように設定します。
147+ /// </summary>
148+ /// <param name="waitTime">切断するまでの時間(ミリ秒単位)。0以下を指定するとすぐに切断します。</param>
149+ public ISetedTimeoutUserStream SetTimeout(int waitTime)
131150 {
132151 if (waitTime < 1)
133152 {
@@ -146,69 +165,136 @@ namespace Azyobuzi.UserStreamEx
146165 return this;
147166 }
148167
168+ /// <summary>
169+ /// 取得したデータを書き込む<see cref="System.IO.TextWriter"/>
170+ /// </summary>
149171 public TextWriter StreamingWriter { set; get; }
150172
151173 #region Events
174+ /// <summary>
175+ /// 接続を開始するときに発生します。
176+ /// </summary>
152177 public event EventHandler Started;
178+ /// <summary>
179+ /// 切断されたときに発生します。
180+ /// </summary>
153181 public event EventHandler<StoppedEventArgs> Stopped;
182+ /// <summary>
183+ /// friends(following)のID一覧を受け取ったときに発生します。通常は開始直後に一回だけ発生します。
184+ /// </summary>
154185 public event EventHandler<ReceiveFriendsEventArgs> ReceiveFriends;
186+ /// <summary>
187+ /// 新しいツイートを受け取ったときに発生します。
188+ /// </summary>
155189 public event EventHandler<NewTweetEventArgs> NewTweet;
190+ /// <summary>
191+ /// 新しいダイレクトメッセージを受信・送信したときに発生します。
192+ /// </summary>
156193 public event EventHandler<NewDirectMessageEventArgs> NewDirectMessage;
194+ /// <summary>
195+ /// ツイートまたはダイレクトメッセージが削除されたときに発生します。ハンドラでは直ちに表示から消すような処理をしてください。
196+ /// </summary>
157197 public event EventHandler<DeleteStatusEventArgs> DeleteStatus;
198+ /// <summary>
199+ /// イベントを受信したときに発生します。
200+ /// </summary>
158201 public event EventHandler<ReceiveEventEventArgs> ReceiveEvent;
202+ /// <summary>
203+ /// Twitter側で処理しきれないツイートがあったときに発生します。
204+ /// </summary>
205+ /// <remarks>詳細不明</remarks>
159206 public event EventHandler<TrackLimitEventArgs> TrackLimit;
207+ /// <summary>
208+ /// 対応していないデータを受け取ったときに発生します。
209+ /// </summary>
160210 public event EventHandler<ReceiveJsonEventArgs> ReceiveUnsupportedData;
161211 #endregion
162212
163213 #region AddHandlerMethod
214+ /// <summary>
215+ /// <see cref="Started"/>イベントにイベントハンドラを追加します。
216+ /// </summary>
217+ /// <param name="handler">イベントハンドラ</param>
164218 public INotStartedUserStream SetStartedEvent(EventHandler handler)
165219 {
166220 Started += handler;
167221 return this;
168222 }
169223
224+ /// <summary>
225+ /// <see cref="Stopped"/>イベントにイベントハンドラを追加します。
226+ /// </summary>
227+ /// <param name="handler">イベントハンドラ</param>
170228 public INotStartedUserStream SetStoppedEvent(EventHandler<StoppedEventArgs> handler)
171229 {
172230 Stopped += handler;
173231 return this;
174232 }
175233
234+ /// <summary>
235+ /// <see cref="ReceiveFriends"/>イベントにイベントハンドラを追加します。
236+ /// </summary>
237+ /// <param name="handler">イベントハンドラ</param>
176238 public INotStartedUserStream SetReceiveFriendsEvent(EventHandler<ReceiveFriendsEventArgs> handler)
177239 {
178240 ReceiveFriends += handler;
179241 return this;
180242 }
181243
244+ /// <summary>
245+ /// <see cref="NewTweet"/>イベントにイベントハンドラを追加します。
246+ /// </summary>
247+ /// <param name="handler">イベントハンドラ</param>
182248 public INotStartedUserStream SetNewTweetEvent(EventHandler<NewTweetEventArgs> handler)
183249 {
184250 NewTweet += handler;
185251 return this;
186252 }
187253
254+ /// <summary>
255+ /// <see cref="NewDirectMessage"/>イベントにイベントハンドラを追加します。
256+ /// </summary>
257+ /// <param name="handler">イベントハンドラ</param>
188258 public INotStartedUserStream SetNewDirectMessageEvent(EventHandler<NewDirectMessageEventArgs> handler)
189259 {
190260 NewDirectMessage += handler;
191261 return this;
192262 }
193263
264+ /// <summary>
265+ /// <see cref="DeleteStatus"/>イベントにイベントハンドラを追加します。
266+ /// </summary>
267+ /// <param name="handler">イベントハンドラ</param>
194268 public INotStartedUserStream SetDeleteStatusEvent(EventHandler<DeleteStatusEventArgs> handler)
195269 {
196270 DeleteStatus += handler;
197271 return this;
198272 }
199273
274+ /// <summary>
275+ /// <see cref="ReceiveEvent"/>イベントにイベントハンドラを追加します。
276+ /// </summary>
277+ /// <param name="handler">イベントハンドラ</param>
200278 public INotStartedUserStream SetReceiveEventEvent(EventHandler<ReceiveEventEventArgs> handler)
201279 {
202280 ReceiveEvent += handler;
203281 return this;
204282 }
205283
284+ /// <summary>
285+ /// <see cref="TrackLimit"/>イベントにイベントハンドラを追加します。
286+ /// </summary>
287+ /// <param name="handler">イベントハンドラ</param>
206288 public INotStartedUserStream SetTrackLimitEvent(EventHandler<TrackLimitEventArgs> handler)
207289 {
208290 TrackLimit += handler;
209291 return this;
210292 }
211293
294+ /// <summary>
295+ /// <see cref="ReceiveUnsupportedData"/>イベントにイベントハンドラを追加します。
296+ /// </summary>
297+ /// <param name="handler">イベントハンドラ</param>
212298 public INotStartedUserStream SetReceiveUnsupportedDataEvent(EventHandler<ReceiveJsonEventArgs> handler)
213299 {
214300 ReceiveUnsupportedData += handler;
--- a/UserStreamEx/UserStreamEx.csproj
+++ b/UserStreamEx/UserStreamEx.csproj
@@ -21,6 +21,7 @@
2121 <DefineConstants>DEBUG;TRACE</DefineConstants>
2222 <ErrorReport>prompt</ErrorReport>
2323 <WarningLevel>4</WarningLevel>
24+ <DocumentationFile>bin\Debug\UserStreamEx.XML</DocumentationFile>
2425 </PropertyGroup>
2526 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
2627 <DebugType>pdbonly</DebugType>
@@ -29,6 +30,7 @@
2930 <DefineConstants>TRACE</DefineConstants>
3031 <ErrorReport>prompt</ErrorReport>
3132 <WarningLevel>4</WarningLevel>
33+ <DocumentationFile>bin\Release\UserStreamEx.XML</DocumentationFile>
3234 </PropertyGroup>
3335 <ItemGroup>
3436 <Reference Include="DynamicJson, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">