这是我的工作代码:
string outputpath = @"C:\today\abc.txt";
var outputdata = query.ToList();
File.AppendAllLines(outputpath, outputdata);
现在我不想在代码中定义“outputpath”,而是将其设置为等于文本框的内容。
string outputpath = textBox1.Text;
这不编译。我做错了什么?
编辑:我得到的错误是“错误1,字段初始化程序无法引用非静态字段,方法或属性'WindowsFormsApplication1.Form1.textBox1'。
答案 0 :(得分:1)
看起来您正在尝试根据非静态对象的值初始化字段。您不能这样做,因为初始化期间对象不存在。
这不好:
public class Form
{
TextBox textBox1;
string outputPath = textbox1.Text;
}
这应该有效,尽管该值可能是一个空字符串:
public class Form
{
TextBox textBox1;
string outputPath;
public Form()
{
outputPath = textBox1.Text;
}
}
但是您可能想要的是挂钩按钮的OnClick事件或类似事件,以将textBox1.Text值分配给outputpath。