积极答复者
CodeDom初始化数组

问题
答案
-
你好 貌似没有这个选项 我这里有个笨的方法:
private static void TestCodeDom()
{
CodeArrayCreateExpression data = new CodeArrayCreateExpression(typeof(byte));
data.Initializers.AddRange(new CodeExpression[]{
new CodePrimitiveExpression(123),new CodePrimitiveExpression(48),new CodePrimitiveExpression(52),new CodePrimitiveExpression(70),new CodePrimitiveExpression(69)
});CodeVariableDeclarationStatement varData = new CodeVariableDeclarationStatement("System.byte[]", "_data", data);
CSharpCodeProvider provider = new CSharpCodeProvider();
StringBuilder sb = new StringBuilder();
CodeGeneratorOptions o = new CodeGeneratorOptions();
o.BlankLinesBetweenMembers = false;
provider.GenerateCodeFromStatement(varData, new StringWriter(sb), o);string code = sb.ToString();
Console.Write(code.Replace("\r\n","").Replace(" ",""));
}- 已标记为答案 Jing0Moderator 2010年6月21日 3:10
全部回复
-
你好 貌似没有这个选项 我这里有个笨的方法:
private static void TestCodeDom()
{
CodeArrayCreateExpression data = new CodeArrayCreateExpression(typeof(byte));
data.Initializers.AddRange(new CodeExpression[]{
new CodePrimitiveExpression(123),new CodePrimitiveExpression(48),new CodePrimitiveExpression(52),new CodePrimitiveExpression(70),new CodePrimitiveExpression(69)
});CodeVariableDeclarationStatement varData = new CodeVariableDeclarationStatement("System.byte[]", "_data", data);
CSharpCodeProvider provider = new CSharpCodeProvider();
StringBuilder sb = new StringBuilder();
CodeGeneratorOptions o = new CodeGeneratorOptions();
o.BlankLinesBetweenMembers = false;
provider.GenerateCodeFromStatement(varData, new StringWriter(sb), o);string code = sb.ToString();
Console.Write(code.Replace("\r\n","").Replace(" ",""));
}- 已标记为答案 Jing0Moderator 2010年6月21日 3:10
-
输出结果
byte[] _data = new byte[] {123,48,52,70,69};
I see you~http://hi.baidu.com/1987raymondMy Blog~~~