我正在尝试执行以下代码:
static DataSet ds_input;
static DataSet ds_output;
ds_output.Tables.Add(new DataTable() );
ds_output.Tables[0].Columns.Add("column_1", typeof(string));
ds_output.Tables[0].Columns.Add("column_2", typeof(string));
ds_output.Tables[0].Columns.Add("column_4", typeof(string));
ds_output.Tables[0].Columns.Add("column_3", typeof(string));
对我来说似乎很简单,但不知怎的,它给了我以下错误:
在Add(new DataTable())
中初始化新实例时:
方法必须有返回类型。
向ds_output.Tables[0]
添加列时:
无效令牌'。'在类,结构或接口成员声明中
更新#1:
我在课程开头写了上面的代码如下:
namespace Bulk_Verification
{
public partial class Form1 : Form
{ static DataSet ds_input;
static DataSet ds_output;
//ds_output.Tables.Add(new DataTable());
ds_output.Tables[0].Columns.Add("column_1", typeof(string));
ds_output.Tables[0].Columns.Add("column_2", typeof(string));
ds_output.Tables[0].Columns.Add("column_4", typeof(string));
ds_output.Tables[0].Columns.Add("column_3", typeof(string));
在怀疑这可能是问题之后,我在它们应该被使用之前移动了这些线:
public static DataSet verify(DataSet ds_input)
{
ds_output.Tables.Add(new DataTable());
ds_output.Tables[0].Columns.Add("column_1", typeof(string));
ds_output.Tables[0].Columns.Add("column_2", typeof(string));
ds_output.Tables[0].Columns.Add("column_4", typeof(string));
ds_output.Tables[0].Columns.Add("column_3", typeof(string));
这也是返回值的唯一方法(我尝试创建的自定义数据集)。更改了位置,现在我在ds_output.Tables.Add(new DataTable());
上使用调试器运行应用程序时出现以下编译器错误:
对象引用未设置为对象的实例。
答案 0 :(得分:4)
我假设您已经发布了代码。所以编译投诉Method must have a return type
和Invalid token '.' in class, struct, or interface member declaration
。
您应该创建一个Method
并将代码包装在其中,它可以是实例方法,构造函数或静态方法或静态构造函数。
static DataSet ds_input = new DataSet();
static DataSet ds_output = new DataSet();
private static void InitializeMyDataSet()
{
ds_output.Tables.Add(new DataTable() );
ds_output.Tables[0].Columns.Add("column_1", typeof(string));
ds_output.Tables[0].Columns.Add("column_2", typeof(string));
ds_output.Tables[0].Columns.Add("column_4", typeof(string));
ds_output.Tables[0].Columns.Add("column_3", typeof(string));
}
然后在您需要的地方拨打InitializeMyDataSet();
。
希望这有帮助。