2011-02-09 2 views
6

Как я могу имитировать функциональность ExpandoObject в приложении .NET 3.5 с наименьшими издержками? До сих пор моим лучшим примером является использование инфраструктуры Lin Fu (http://www.codeproject.com/KB/cs/LinFuPart2.aspx), но я думаю, что может быть что-то лучше.Подменю для ExpandoObject в .NET 3.5 с наименьшими издержками

Чтобы лучше понять, что я собираюсь здесь, моя цель - динамически создавать тип из параметров MethodInfo. Таким образом, в основном я хочу, чтобы превратить это:

public class ServiceObject 
    { 
     public void Execute(string TransformMeIntoAProperty); 
    } 

в

public class ServiceObjectExecuteSignature 
    { 
     public string TransformMeIntoAProperty{ get; set;} 
    } 

во время выполнения. Я должен иметь доступ к параметрам с помощью Reflection, потому что я использую Linq Expressions.

ответ

0

Вы можете использовать CodeDom для динамической компиляции некоторых новых типов во время выполнения. Очевидно, есть предварительная стоимость этого. Я полагаю, это зависит от времени жизни типов, которые вы генерируете.