回答編集履歴

2

Type で返すと後の扱いが難しいので修正

2016/07/16 22:36

投稿

Zuishin
Zuishin

スコア28673

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# で記述してメモリ内に実行ファイルを作成し、エントリポイントを `Type main() {}` として新しいクラスを返します。
23
+ C# で記述してメモリ内に実行ファイルを作成し、新しいクラスをリモートオブジェクトとして返します。
24
24
 
25
25
 
26
26
 

1

追記

2016/07/16 22:36

投稿

Zuishin
Zuishin

スコア28673

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
+