質問編集履歴

1

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

2016/09/04 15:47

投稿

syogakusya
syogakusya

スコア67

test CHANGED
File without changes
test CHANGED
@@ -461,3 +461,55 @@
461
461
  }
462
462
 
463
463
  ```
464
+
465
+
466
+
467
+ ##※追記事項
468
+
469
+ コード全体を改善することが第一の目標なのですが、
470
+
471
+ 以下のようなクライアントコードによってメッセージデータが取得できるようになれば、
472
+
473
+ 更に良いだろうと思っています。
474
+
475
+ 以下は一例です。
476
+
477
+ ```C#
478
+
479
+ namespace Project1
480
+
481
+ {
482
+
483
+ class ClientClass
484
+
485
+ {
486
+
487
+ public void ClientCode()
488
+
489
+ {
490
+
491
+ var provider = new Project1MessageProvider();
492
+
493
+ var creator = new LowLevelAssembly.MessageDataCreator(provider);
494
+
495
+ var messageData = creator.GetMessageData(Project1MessageKind.TaskDone);
496
+
497
+ Console.WriteLine($"ID:{messageData.Id } Level:{messageData.MessageLevel} Content:{messageData.Message}");
498
+
499
+ }
500
+
501
+ }
502
+
503
+ }
504
+
505
+ ```
506
+
507
+ Project1MessageProviderクラスのインスタンスひとつにつきメッセージをひとつしか
508
+
509
+ 取得できないような仕組みになってしまっているのは、決して意図したことではなく、
510
+
511
+ これ以外に実現方法が分からなかったからです。
512
+
513
+ 本当はGetMessageメソッドの引数にはProjectMessageKind型の変数をとりたいですし、
514
+
515
+ その他のプロジェクトにおいても、そのプロジェクトに固有のメッセージ列挙体を引数としたいです。