読者です 読者をやめる 読者になる 読者になる

CSharpCodeProviderで遊ぶ

昨日の夕方頃にmyst研でAkiyama先輩がRealtimeModeについて解説を行ってくださいました



簡単にRealtimeModeについて解説すると、Processingでコードを書く際にリアルタイムでコードの変更を反映し、より分かりやすくコーディングするためのモードのことです

詳しくはAkiyama先輩のブログなどを見て下さい
processing realtime tweak mode (prototype) - gutugutu3030


その解説のなかで「リフレクション」というものが登場しました

リフレクションって聞いたことあるけど、よく分からないし使ったことないなーって思い、スライドに書いてあった「JavaJavaコンパイルする」というのがスゴく気になりました

でもJava書けないし…と思いテキトーにググってみるとC#など色んな言語でもリフレクションは存在し、同じようなこと出来そうな感じがしたので実際にC#のプログラムでC#のプログラムをコンパイルするコードを書いてみました

これらを参考にしました
CSharpCodeProvider クラス (Microsoft.CSharp)
@IT:.NET TIPS プログラムからソース・コードをコンパイルして実行するには? - C#



出来たものはこちらgithub.com


大変致命的なバグが大量に含まれているので気をつけて下さい

作ったはいいものの、僕の思う通りの動作をしてくれません

例えばReferencedAssemblies.Add("System.Windows.Forms.dll")してるのにMessageBox.Show()しようとするとエラー吐いたり、3,4回くらい変更するとそれ以降の動作が不安定になったり…


色々とバグを抱えているが、正直コレ以上やる気が起きないので誰か直して…