我正在尝试执行以下代码:
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));
Run Code Online (Sandbox Code Playgroud)
对我来说似乎很简单,但不知何故它给了我以下错误:
在初始化新实例时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));
Run Code Online (Sandbox Code Playgroud)
在怀疑这可能是问题之后,我在应该使用这些行之前移动了这些行:
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));
Run Code Online (Sandbox Code Playgroud)
这也是返回值的唯一方法(我正在尝试创建的自定义数据集)。位置更改后,现在当我使用调试器运行应用程序时,出现以下编译器错误ds_output.Tables.Add(new DataTable());:
你调用的对象是空的。
我假设您拥有发布的代码。所以编译器抱怨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));
}
Run Code Online (Sandbox Code Playgroud)
然后打电话到InitializeMyDataSet();你需要的地方。
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
44003 次 |
| 最近记录: |