質問するログイン新規登録

質問編集履歴

1

コードの意図について補足しました。

2016/09/04 15:47

投稿

syogakusya
syogakusya

スコア67

title CHANGED
File without changes
body CHANGED
@@ -229,4 +229,30 @@
229
229
  }
230
230
  }
231
231
  }
232
- ```
232
+ ```
233
+
234
+ ##※追記事項
235
+ コード全体を改善することが第一の目標なのですが、
236
+ 以下のようなクライアントコードによってメッセージデータが取得できるようになれば、
237
+ 更に良いだろうと思っています。
238
+ 以下は一例です。
239
+ ```C#
240
+ namespace Project1
241
+ {
242
+ class ClientClass
243
+ {
244
+ public void ClientCode()
245
+ {
246
+ var provider = new Project1MessageProvider();
247
+ var creator = new LowLevelAssembly.MessageDataCreator(provider);
248
+ var messageData = creator.GetMessageData(Project1MessageKind.TaskDone);
249
+ Console.WriteLine($"ID:{messageData.Id } Level:{messageData.MessageLevel} Content:{messageData.Message}");
250
+ }
251
+ }
252
+ }
253
+ ```
254
+ Project1MessageProviderクラスのインスタンスひとつにつきメッセージをひとつしか
255
+ 取得できないような仕組みになってしまっているのは、決して意図したことではなく、
256
+ これ以外に実現方法が分からなかったからです。
257
+ 本当はGetMessageメソッドの引数にはProjectMessageKind型の変数をとりたいですし、
258
+ その他のプロジェクトにおいても、そのプロジェクトに固有のメッセージ列挙体を引数としたいです。