C♯, C#相談室 Part32
■ このスレッドは過去ログ倉庫に格納されています
0354デフォルトの名無しさん
2006/06/29(木) 20:21:48System.Reflection.Emitにあるクラスを駆使してできるかなぁって思ってたら
C#のコードを解析する方法がわかんない。
どうすればいいんすか?
// コード
string input = Console.ReadLine();
AppDomain domain = AppDomain.CurrentDomain;
AssemblyBuilder assemblyBuilder = domain.DefineDynamicAssembly(new System.Reflection.AssemblyName("TempAssembly"), AssemblyBuilderAccess.Run);
ModuleBuilder moduleBuilder = assemblyBuilder.DefineDynamicModule("TempModule");
TypeBuilder typeBuilder = moduleBuilder.DefineType("TempClass");
MethodBuilder methodBuilder = typeBuilder.DefineMethod("TempMethod", MethodAttributes.Public, typeof(object), new Type[0]);
ILGenerator ilGenerator = methodBuilder.GetILGenerator();
// この辺でinputを解析する必要があると思うんだが、わからない。
// ↓の使い方もあまりよくわかってない。
// ilGenerator.Emit(OpCodes.Ret);
Type type = typeBuilder.CreateType();
object obj = Activator.CreateInstance(type);
MethodInfo methodInfo = type.GetMethod("TempMethod");
Console.WriteLine(methodInfo.Invoke(obj, null));
■ このスレッドは過去ログ倉庫に格納されています