namespace InABox.Core
{
    //[Serializable]
    //public class CoreTable<T> : DataTable, ICoreTable
    //{
    //    public CoreTable()
    //        : base()
    //    {
    //    }

    //    public CoreTable(string tableName)
    //        : base(tableName)
    //    {
    //    }

    //    public CoreTable(string tableName, string tableNamespace)
    //        : base(tableName, tableNamespace)
    //    {
    //    }

    //    public CoreTable(SerializationInfo info, StreamingContext context)
    //        : base(info, context)
    //    {
    //    }

    //    protected override Type GetRowType()
    //    {
    //        return typeof(CoreRow<T>);
    //    }

    //    protected override DataRow NewRowFromBuilder(DataRowBuilder builder)
    //    {
    //        return new CoreRow<T>(builder);
    //    }
    //}

    //[Serializable]
    //public class CoreRow<T> : DataRow, ICoreRow
    //{

    //    public CoreRow()
    //        : base(null)
    //    {
    //    }

    //    public CoreRow(DataRowBuilder builder)
    //        : base(builder)
    //    {
    //    }

    //    public int Index => throw new NotImplementedException();

    //    public List<object> Values => throw new NotImplementedException();

    //    public new CoreTable<T> Table { get; set; }

    //    public TType Get<TType>(string columnname, bool usedefault = true)
    //    {
    //        throw new NotImplementedException();
    //    }

    //    public TType Get<TSource, TType>(Expression<Func<TSource, TType>> expression)
    //    {
    //        throw new NotImplementedException();
    //    }

    //    public void Set<TType>(string columnname, TType value)
    //    {
    //        throw new NotImplementedException();
    //    }

    //    public void Set<TSource, TType>(Expression<Func<TSource, TType>> expression, TType value)
    //    {
    //        throw new NotImplementedException();
    //    }

    //    public Dictionary<string, object> ToDictionary(string[] exclude)
    //    {
    //        throw new NotImplementedException();
    //    }

    //    public object ToObject(Type t)
    //    {
    //        throw new NotImplementedException();
    //    }

    //    public T1 ToObject<T1>() where T1 : BaseObject, new()
    //    {
    //        throw new NotImplementedException();
    //    }
    //}
}