problem with serialize in code compiler

EDN Admin

Well-known member
Joined
Aug 7, 2010
Messages
12,794
Location
In the Machine
hi
i use of this code for serialize class in code compiler

<div style="color:Black;background-color:White; <pre>
<span style="color:Blue; public <span style="color:Blue; void GetItemSource()
{
CSharpCodeProvider c = <span style="color:Blue; new CSharpCodeProvider();
ICodeCompiler icc = c.CreateCompiler();
CompilerParameters cp = <span style="color:Blue; new CompilerParameters();
cp.GenerateExecutable = <span style="color:Blue; false;
cp.ReferencedAssemblies.Add(<span style="color:Blue; typeof(System.Data.EntityClient.EntityCommand).Assembly.Location);
cp.ReferencedAssemblies.Add(<span style="color:#A31515; "system.dll");
cp.ReferencedAssemblies.Add(<span style="color:#A31515; "system.xml.dll");
cp.ReferencedAssemblies.Add(<span style="color:#A31515; "system.data.dll");
cp.ReferencedAssemblies.Add(<span style="color:#A31515; "System.Runtime.Serialization.Formatters.Soap.dll");
cp.ReferencedAssemblies.Add(<span style="color:#A31515; "system.drawing.dll");
cp.ReferencedAssemblies.Add(<span style="color:#A31515; "System.Core.dll");
cp.ReferencedAssemblies.Add(<span style="color:#A31515; "System.Xml.Linq.dll");
cp.ReferencedAssemblies.Add(<span style="color:#A31515; "System.Web.Services.dll");
cp.ReferencedAssemblies.Add(<span style="color:#A31515; "System.Runtime.Serialization.dll");
cp.CompilerOptions = <span style="color:#A31515; "/t:library";
cp.GenerateInMemory = <span style="color:Blue; true;
StringBuilder sb = <span style="color:Blue; new StringBuilder(<span style="color:#A31515; "");
sb.Append(<span style="color:#A31515; "using System;n");
sb.Append(<span style="color:#A31515; "using System.Xml;n");
sb.Append(<span style="color:#A31515; "using System.Data;n");
sb.Append(<span style="color:#A31515; "using System.Data.SqlClient;n");
sb.Append(<span style="color:#A31515; "using System.Linq;n");
sb.Append(<span style="color:#A31515; "using System.Collections.Generic;n");
sb.Append(<span style="color:#A31515; "using System.Runtime.Serialization;n");
sb.Append(<span style="color:#A31515; "using System.Xml.Serialization;n");
sb.Append(<span style="color:#A31515; "using System.IO.IsolatedStorage;n");
sb.Append(<span style="color:#A31515; "using System.Runtime.Serialization.Formatters.Binary;");
sb.Append(<span style="color:#A31515; "using System.IO;n");
sb.Append(<span style="color:#A31515; "using System.Text;n");
sb.Append(<span style="color:#A31515; "[Serializable()] n");
sb.Append(<span style="color:#A31515; " public class QueryList n");
sb.Append(<span style="color:#A31515; "{ n");
sb.Append(<span style="color:#A31515; "public string Name {get; set;} n");
sb.Append(<span style="color:#A31515; "} n");
sb.Append(<span style="color:#A31515; "public class GetData{ n");
sb.Append(<span style="color:#A31515; "public string ItemSource(){n");
sb.Append(<span style="color:#A31515; " List<QueryList> list = new List<QueryList>();n");
sb.Append(<span style="color:#A31515; @" list.Add(new QueryList() { ID =""Jenifer"" });");
sb.Append(<span style="color:#A31515; @" list.Add(new QueryList() { ID =""Adam"" });");
sb.Append(<span style="color:#A31515; " string str = ToXml(list);n");
sb.Append(<span style="color:#A31515; " return str;n");
sb.Append(<span style="color:#A31515; "}");
sb.Append(<span style="color:#A31515; "public string ToXml(List<QueryList> pparam)n");
sb.Append(<span style="color:#A31515; "{n");
sb.Append(<span style="color:#A31515; " XmlSerializer serializer = new XmlSerializer(typeof(List<QueryList>));n");
sb.Append(<span style="color:#A31515; "StringBuilder stringBuilder = new StringBuilder();n");
sb.Append(<span style="color:#A31515; "XmlWriterSettings settings = new XmlWriterSettings()n");
sb.Append(<span style="color:#A31515; " {n");
sb.Append(<span style="color:#A31515; "Indent = true,n");
sb.Append(<span style="color:#A31515; "OmitXmlDeclaration = truen");
sb.Append(<span style="color:#A31515; " };n");
sb.Append(<span style="color:#A31515; " using (XmlWriter xmlWriter = XmlWriter.Create(stringBuilder))n");
sb.Append(<span style="color:#A31515; " {n");
sb.Append(<span style="color:#A31515; " serializer.Serialize(xmlWriter, pparam);n");
sb.Append(<span style="color:#A31515; " }n");
sb.Append(<span style="color:#A31515; " return stringBuilder.ToString();n");
sb.Append(<span style="color:#A31515; " }n");
sb.Append(<span style="color:#A31515; "}n");
<span style="color:Blue; string test = sb.ToString();
CompilerResults cr = icc.CompileAssemblyFromSource(cp, sb.ToString());
System.Reflection.Assembly a = cr.CompiledAssembly;
<span style="color:Blue; object o = a.CreateInstance(<span style="color:#A31515; "GetData");
Type t = o.GetType();
MethodInfo mi = t.GetMethod(<span style="color:#A31515; "ItemSource");
<span style="color:Blue; string str = (<span style="color:Blue; string)mi.Invoke(o, <span style="color:Blue; null);

[/code]

<br/>
i end line i meet error
but when i that code run without code compiler every thing is ok
but in code compiler i dont serialize it
please help me
thanks

View the full article
 
Back
Top