日期:2014-05-18  浏览次数:20780 次

一个函数的写法求解
需要实现的方法,传入一个对象,其实是个数据源,可能是对象集,也可能是DataTable.
简单点就是一个对象,具体类型由传入对象确定的。
传入对象后,我需要根据对象来给报表控件赋值,因为是动态赋值,所以需要确认具体列名来匹配报表模板。
这个函数如何写最好呢,求解!

附上我的想法:
C# code

//j 传入对象,ht 传入参数集
private void LoadReport(object j,HashTable ht)
{
    if(j is DataTable)
    {
       //给报表赋值
    }
    if(j is ..)//其他对象
    {}
}



------解决方案--------------------
Switch(j.GetType().Name)
{
case "类型名":赋值;break;
}
------解决方案--------------------
private void LoadReport<T>(T j,HashTable ht)
{
if(j is DataTable)
{
//给报表赋值
}
if(j is ..)//其他对象
{}
}
------解决方案--------------------
private void LoadReport<T>(T j,HashTable ht)
{
j.GetType().Name;
}
//试试 能行丢分
------解决方案--------------------
你应该为不同类型编写不同的重载。记住一个函数只做一件事情。
------解决方案--------------------
新手最想做的东西就是万能方法,总是千方百计的在想着编写万能方法,殊不知,所谓的万能方法就是最没用的方法。