【发布时间】:2018-06-22 20:05:19
【问题描述】:
我想用实例 <T>this is my Class 的构造函数使这个类成为通用类。
class Pagenation
{
public TextBlock PageInformation { get; set; }
public DataTable dt { get; set; }
public ComboBox NumberOfRecords { get; set; }
public DataGrid DatagridObject { get; set; }
public Button BtnPrev { get; set; }
public Button BtnFirst { get; set; }
public Button BtnNext { get; set; }
public Button BtnLast { get; set; }
public int NumberOfRecPerPage { get; set; }
private int pageIndex = 1;
private int numberOfRecPerPage;
public Pagenation(DataGrid UCDatagrid, ComboBox NumberOfRecordsComboBox, int
numOfRecPerPage, TextBlock PageInfo, DataTable Data,
Button Prev, Button First, Button Next, Button Last)
{
NumberOfRecordsComboBox.Items.AddRange(new List<string>{ "5", "10", "15", "20" });
(NumberOfRecords, numberOfRecPerPage, DatagridObject) =
(NumberOfRecordsComboBox, numOfRecPerPage, UCDatagrid);
dt = Data.Copy();
PageInformation = PageInfo;
(BtnPrev, BtnFirst, BtnNext, BtnLast) = (Prev, First, Next, Last);
}
}
我希望分页构造函数接收<some project Custom Class> 类型的对象,如下所示
Pagenation PG = new Pagenation<PartsUC>(this);
我做了这样的泛型类
class Pagenation<T>
{
public Pagenation(T ClassObj)
{
NumberOfRecords = ClassObj.???; // want to assign the properties of the ClassObj
numberOfRecPerPage = ClassObj.???;
DatagridObject = ClassObj.???;
dt = ClassObj.???;
PageInformation =ClassObj.???;
(BtnPrev, BtnFirst, BtnNext, BtnLast) =
(ClassObj.???, ClassObj.???, ClassObj.???, ClassObj.???);
}
}
我不知道如何将分页类属性重新分配给接收到的<PartsUC>实例对象的属性
【问题讨论】:
-
为什么都是
static? -
泛型总是属于 PartsUC 类型还是它的后代?
-
它的后代,它们都具有分页所需的属性,例如 DataGrid ......例如,我有 PartsUC、EqupmentUC、UsersUC、RequestUC,它们都有数据网格。
-
@HúsàmShüjáàdiiñ thhoes 类是否具有所有相同的属性?还是有些不同?
-
您可能不希望所有这些东西都是静态的。请注意,您的属性也都可以自动实现。帮您(现在和未来)自己和任何将处理您的代码的人一个忙,并坚持单一的命名约定。 _btnPrev vs _BtnNext,除了 numberOfRecsPerPage 之外的所有字段都有一个前导下划线......保持一致。以后你会感谢自己的。
标签: c# .net generics constructor wpfdatagrid