回答編集履歴
2
Type で返すと後の扱いが難しいので修正
test
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
1. [CSharpCodeProvider](https://msdn.microsoft.com/ja-jp/library/microsoft.csharp.csharpcodeprovider(v=vs.90).aspx) を使う
|
22
22
|
|
23
|
-
C# で記述してメモリ内に実行ファイルを作成し、
|
23
|
+
C# で記述してメモリ内に実行ファイルを作成し、新しいクラスをリモートオブジェクトとして返します。
|
24
24
|
|
25
25
|
|
26
26
|
|
1
追記
test
CHANGED
@@ -7,3 +7,25 @@
|
|
7
7
|
[System.Reflection.Emit](https://msdn.microsoft.com/ja-jp/library/system.reflection.emit.aspx) 名前空間に含まれるクラスを使ってください。
|
8
8
|
|
9
9
|
[指定した型のプロパティを持つクラスを動的に生成する](http://ameblo.jp/beginner-programmer/entry-10555145784.html) に実例があります。
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
###追記
|
14
|
+
|
15
|
+
正攻法でクラスを作るのは、ご覧のように IL を扱うので、アセンブラに慣れていなければなかなか勉強を要すると思います。
|
16
|
+
|
17
|
+
もう二つ選択肢に入れてみてください
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
1. [CSharpCodeProvider](https://msdn.microsoft.com/ja-jp/library/microsoft.csharp.csharpcodeprovider(v=vs.90).aspx) を使う
|
22
|
+
|
23
|
+
C# で記述してメモリ内に実行ファイルを作成し、エントリポイントを `Type main() {}` として新しいクラスを返します。
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
2. 疑似クラスを使う
|
28
|
+
|
29
|
+
Dictionary<T, U> などにデリゲートを追加してメソッドのようなふるまいをさせます。
|
30
|
+
|
31
|
+
|