【发布时间】:2010-07-20 18:09:25
【问题描述】:
私有函数 GenerateWriter()
{
MethodInfo appendMethod = typeof(StringBuilder).GetMethod("Append",
新[] { typeof(string) });
var buffer = Expression.Variable(typeof(StringBuilder), "buffer");
var writer = new List<Expression>();
var source = Expression.Parameter(typeof(string[]));
writer.Add(Expression.Assign(buffer, Expression.New(typeof(StringBuilder))));
//add some strings to buffer
writer.Add(Expression.Call(buffer, "ToString", null));
var f = Expression.Lambda<Func<string[], string>>
(Expression.Block(writer.ToArray()), source).Compile();
return f;
} 我收到了这样的消息: “System.Text.StringBuilder”类型的变量“缓冲区” 从范围''引用,但未定义
我不明白错误是什么。一切似乎都是正确的。 请帮帮我!
【问题讨论】:
标签: c#