注册 登录
编程论坛 C# 论坛

错误1“System.Data.DataRow”不包含采用“0”参数的构造函数

librayg 发布于 2012-11-24 20:56, 2898 次点击
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace 尝试封装
{
   
    class  T_Users:DataRow
    {
      
        public int Id
        {
            get
            {
                return Convert.ToInt32(this["Id"]);
            }
            set
            {
                this["Id"] = value;
            }
        }

        public string UserName
        {
            get
            {
                return Convert.ToString(this["UserName"]);
            }
            set
            {
                this["UserName"] = value;
            }
        }
    }
}
求问题原因(系统提示这个错误,但是我没有传参数啊,只是用索引的方法进行指向,value是用户值,没有理由是空的啊(??),求解答)
5 回复
#2
mmxo2012-11-24 21:21
DataRow是可以继承的吗?而且你有必要继承DataRow吗?

[ 本帖最后由 mmxo 于 2012-11-24 21:24 编辑 ]
#3
hjywyj2012-11-25 12:50
继承datarow?有意思吗?
在类里面加上个构造函数
public T_Users(DataRowBuilder builder):base(builder)
        {
        }
#4
librayg2012-11-25 14:48
那个,我不继承的话,索引都没办法用呀
#5
librayg2012-11-25 14:54
回复 3楼 hjywyj
从上面的构造函数可以看出,实际上row结构的创建是DataRowBuilder类负责的,而不是datarow类,datarow类实际负责对row的操作而不是创建。
谢谢了,但是不引用datarow,我就没办法索引,所有this都报错,其他的方法又不会,不得已为之
#6
wang12925782014-08-21 15:40
回复 楼主 librayg
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace 代码封装
{

    class T_UsersRow:DataRow
    {
        public T_UsersRow(DataRowBuilder builder):base(builder)
        {
            
        }
        public int Id
        {
            get
            {
                return Convert.ToInt32(this["Id"]);
            }
            set
            {
                this["Id"] = value;
            }
        }
        public string UserName
        {
            get
            {
                return Convert.ToString(this["UserName"]);
            }
            set
            {
                this["UserName"] = value;
            }
        }
    }
}
这样写应该就没问题了,我刚试过了
1