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

回答編集履歴

1

追記

2019/05/16 15:11

投稿

YAmaGNZ
YAmaGNZ

スコア10674

answer CHANGED
@@ -1,2 +1,27 @@
1
1
  アップデート対象システムのファイルを使用するアップデーターは本末転倒な気がしますが・・・
2
- もし必要だとしてもファイルのアップデートを行うプログラムとその後の処理を分割して使用しないようにすべきだと思います。
2
+ もし必要だとしてもファイルのアップデートを行うプログラムとその後の処理を分割して使用しないようにすべきだと思います。
3
+
4
+ DLL内のstaticクラスのメソッドを呼ぶなら
5
+ DLL
6
+ ```C#
7
+ namespace TestStaticClass
8
+ {
9
+ public static class TestClass
10
+ {
11
+ public static string Test()
12
+ {
13
+ return "Call Static Class Method";
14
+ }
15
+ }
16
+ }
17
+ ```
18
+ 呼び出し側
19
+ ```C#
20
+ Assembly asm = Assembly.LoadFrom(@"C:\TestDLL\TestStaticClass.dll");
21
+ Type type = asm.GetType("TestStaticClass.TestClass");
22
+ object result = type.InvokeMember("Test", BindingFlags.InvokeMethod, null, null, null);
23
+ ```
24
+ このような感じでしょうか
25
+
26
+ ただ、アップデーターこのような形でDLLを呼ぶ前にファイルをアップデートできるのであれば
27
+ この読み込む前のファイルをアップデートする部分とDLLをロードする部分で明確に分けることができそうに感じます。