对这个作业感到困惑“this.Data1.Table.Rows.Add(this.Data1)”

时间:2014-04-28 14:47:58

标签: c# datatable datarow

就像我在标题中说的那样,我试图理解这个任务,因为我从未见过这样的事情。

事实上,我有一个实现一些泛型类型的类,并以这种方式定义。

public abstract class BaseClass<T, R>
    where T : DataTable, new()
    where R : DataRow
{
    //some code here...

    protected internal R _entityData1;
    public R Data1
    {
        get { return _entityData1; }
        set { _entityData1 = value; }
    }

    //some other code here. (not relevant)
}

然后我有一个以这种方式定义的继承类,使用一个方法公开我在这个问题标题中提到的赋值:

public class InheritedClass : BaseClass<SomeOtherClass.InheritedFromDataTable, SomeOtherClass.InheritedFromDataRow>
{
      //some code here...

      public void SomeMethod()
      {
           //here I'm confused
           this.Data1.Table.Rows.Add(this.Data1);
      }

      //more code..
}

如何在不进入循环或其他内容的情况下执行此操作?...或者这是因为存在对DataTable对象外部存储的Data对象的引用?

我认为重要的是说,我在项目中显示的继承简化模型......涉及许多其他类,我没有公开,因为它是不可读的。

希望你理解我的问题。

1 个答案:

答案 0 :(得分:1)

根据定义,this.Data1SomeOtherClass.InheritedFromDataRow,是DataRowDataRow具有Table属性,该属性引用包含DataTable