我知道有一个类似的问题,但我想要更通用的东西。 我想使用模板类并使用模板函数。 通过示例更清楚: 我得到的是工作代码段
private T[][] fCreateStabsTable<T>(int p_iRows)
{
T[][] l_tTabel = new T [p_iRows][];
for (int i = 0; i < p_iRows; i++)
{
l_tTabel[i] = new T[m_iNumOfStabsItems];
for (int j = 0; j < m_iNumOfStabsItems; j++)
{
l_tTabel[i][j] = (T)Convert.ChangeType(m_oStabilites[i][j].Text,typeof(T));
}
}
return l_tTabel;
}
我想让它更通用,传递2D模板源数组并将函数传递给它需要调用的属性。 这是我试图做的:
private T1[][] fCreateTable<T1, T2, T3>(int p_iRows, int p_iCols, T2[][] p_t2Source, Func<T2, string> p_fProperty)
{
T1[][] l_tTabel = new T1[p_iRows][];
for (int i = 0; i < p_iRows; i++)
{
l_tTabel[i] = new T1[p_iCols];
for (int j = 0; j < p_iCols; j++)
{
l_tTabel[i][j] = (T1)Convert.ChangeType(p_t2Source[i][j].p_fProperty, typeof(T));
}
}
return l_tTabel;
}
可以吗?我该如何实现呢?