編譯動態對象我寫一個應用程序,允許用戶超過對象的集合計算值來創建自定義算法。簡而言之,我將通過一種方法使用類的源代碼的字符串。如何管理創建/在.NET 4.0中
我已經實現該解決方案是編譯字符串源代碼中爲每個這樣的自定義算法一個單獨的DLL,然後使用Assembly.Load加載它們並實例保存在DLL中的類。從可維護性的角度來看,這意味着我必須將源代碼存儲在數據庫中(例如),並管理編譯後的dll的存在(如果缺失,則通過再次編譯源代碼來重新創建)
考慮到.NET 4.0的新特性,是否有更好的方法來做到這一點?
編輯: 輸入源代碼是C#,我使用CSharpCodeProvider編譯代碼。自定義類都是從基類派生的,它們覆蓋實際上保存計算邏輯的方法。我真的很想做的是擺脫DLL管理的同時不失去(太多)性能編譯所有的類,每次我的應用程序啓動時
的要求是,源代碼中的用戶提供爲C#。 – anchandra 2011-03-30 21:27:53
@anchandra - k;將編輯 – 2011-03-30 21:32:41
我認爲你可以直接編譯到內存中的程序集。所以你不需要在磁盤上管理它們。 – CodesInChaos 2011-03-30 21:43:55