我一直在尋找一種整潔的方式來在運行時編譯代碼並操縱正在運行的應用程序的對象(屬性等)。我遇到了Snippy,CodeDom和CSharpCodeProvider,但我並沒有完全理解如何在應用程序中使用這些解決方案來做我想做的事情。底線是,我想在外部文件中有一小部分代碼,這樣我就可以在運行時換出不同的代碼(例如公式來操作數據等)。有人可以向我解釋我究竟該如何實現這一點在一個整潔的時尚WPF應用程序?我只需要傳遞一些數據的外部代碼,然後執行它就會返回一些可以填充對象的數據。 P.S:我也想過從String中解析數學表達式並以這種方式操縱我的數據,但如果我可以在運行時從外部解析和執行C#代碼,它將給我更多的自由度和對公式和數據的控制權。提前致謝。編譯C#代碼從txt文件到與運行wpf應用程序的接口
1
A
回答
4
我想你會使用.NET兼容的動態語言如IronPython或IronRuby做得更好。這些與C#/ .NET幾乎無縫集成,實際上旨在提供執行時腳本化功能。從喬恩斯基特的C# in Depth IronPython的用法
簡單的例子:
// the python code
string python = @"
text = 'hello'
output = input + 1
";
// setup the scripting engine
ScriptEngine engine = Python.CreateEngine();
ScriptScope scope = engine.CreateScope();
scope.SetVariable("input", 10);
engine.Execute(python, scope);
// the results
Console.WriteLine(scope.GetVariable("text"));
Console.WriteLine(scope.GetVariable("input"));
Console.WriteLine(scope.GetVariable("output"));
不用說,該腳本可以使用.NET基礎類庫和你接觸到他們的任何額外的方法。
相關問題
- 1. 使用C#從源文件編譯WPF應用程序?
- 2. 編譯C代碼與出.C文件
- 3. 編譯和C#從TXT執行的代碼行
- 4. 編譯並運行來自Java應用程序的源代碼
- 5. C#從.txt文件讀取更新WPF應用程序
- 6. 如何在運行時從已編譯的應用程序確定代碼文件的文件名
- 7. 編譯並運行Java應用程序中的C++程序
- 8. 從C#Windows應用編譯MFC代碼
- 9. 如何在程序運行時生成並編譯C++代碼?
- 10. C可以運行編譯的Python代碼(.pyc文件)嗎?
- 11. 如何使用C#應用程序編譯C++代碼
- 12. 在新的終端窗口中編譯並運行C++代碼?
- 13. 如何編寫C++程序上編譯和運行C++代碼在一個單獨的文本文件
- 14. 在iPhone上編譯/運行C++代碼
- 15. 用Vim編譯和運行C++程序
- 16. 編譯從WPF的Python代碼到Python與Visual Studio的工具
- 17. 編譯/使用iphone應用程序的unrar C++源代碼?
- 18. 編譯C代碼中的ShellCode程序
- 19. 從bootloader程序運行c代碼
- 20. 用R頭文件編譯C代碼
- 21. 從C++程序編譯LaTeX文件
- 22. 編譯C#代碼與單
- 23. 如何編譯Java或C++應用程序生成的代碼
- 24. 編譯應用程序中的C#代碼
- 25. Java和NetBeans:無法從編譯文件運行代碼
- 26. 直接編譯/從Xcode應用程序
- 27. 如何用C頭文件和CUDA代碼編譯C代碼?
- 28. 重新編譯WPF應用程序的配置文件?
- 29. 在Web應用程序中運行的編譯目標C
- 30. 在運行時編譯運行代碼
非常感謝你,我會研究這個 – 2011-04-05 20:57:58