var xDoc = XDocument.Load(new StreamReader("contacts.xml"));
dynamic root = new ExpandoObject();
xmlToDynamic.Parse(root, xDoc.Elements().First());
Console.WriteLine(root.contacts.contact.Count);
Console.WriteLine(root.contacts.contact[0].firstName);
Console.WriteLine(root.contacts.contact[0].id);
AppDomain domain = AppDomain.CreateDomain("MyDomain");
CompilerRunner cr = (CompilerRunner)domain.CreateInstanceFromAndUnwrap("CompilerRunner.dll", "AppDomainCompiler.CompilerRunner");
public static string Say(string b)
dynamic ok = Newtonsoft.Json.Linq.JObject.Parse(b);
ok.contacts.contact[0].firstName = ok.contacts.contact[0].firstName + ok.contacts.contact[0].firstName;
string data = Newtonsoft.Json.JsonConvert.SerializeObject(root);
object[] parameters = new object[] { data };
string result = (string)cr.Run("Hello", "Say", parameters);
Console.WriteLine("result:" + result);
AppDomain.Unload(domain);