質問編集履歴
1
コードの意図について補足しました。
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
|
+
その他のプロジェクトにおいても、そのプロジェクトに固有のメッセージ列挙体を引数としたいです。
|