一支糖包仔 2017-03-28 09:17 采纳率: 100%
浏览 1338
已采纳

关于C#中泛型问题怎么调用

例如我定义了一个
namespace fanxingtest
{
public class Class1
{
public string Name { get; set; }

    public string Age { get; set; }

    public string Sex { get; set; }
}

}

namespace fanxingtest
{
public class Class2
{
public string Job { get; set; }

    public string Address { get; set; }

    public string Tel { get; set; }
}

}

然后我调用的时候
private void btn_test_Click(object sender, EventArgs e)
{
Random r = new Random();
int i = r.Next(1);
if (i == 0)
{

        }
        else
        {

        }

    }


    private List<Class1> C1Add()
    {
        List<Class1> ListC1 = new List<Class1>();
        Class1 c1 = new Class1();
        c1.Name = "小明";
        c1.Age = "18";
        c1.Sex = "男";
        ListC1.Add(c1);
        Class1 c11 = new Class1();
        c1.Name = "小红";
        c1.Age = "17";
        c1.Sex = "女";
        ListC1.Add(c11);
        Class1 c111 = new Class1();
        c1.Name = "小黄";
        c1.Age = "18";
        c1.Sex = "女";
        ListC1.Add(c111);
        Class1 c1111 = new Class1();
        c1.Name = "小田";
        c1.Age = "19";
        c1.Sex = "男";
        ListC1.Add(c1111);

        return ListC1;
    }

    private List<Class2> C2Add()
    {
        List<Class2> ListC2 = new List<Class2>();
        Class2 c2 = new Class2();
        c2.Job = "医生";
        c2.Address = "医院";
        c2.Tel = "120";
        ListC2.Add(c2);
        Class2 c22 = new Class2();
        c2.Job = "警察";
        c2.Address = "派出所";
        c2.Tel = "110";
        ListC2.Add(c22);
        Class2 c222 = new Class2();
        c2.Job = "消防员";
        c2.Address = "火警局";
        c2.Tel = "119";
        ListC2.Add(c222);
        Class2 c2222 = new Class2();
        c2.Job = "天气员";
        c2.Address = "气象台";
        c2.Tel = "114";
        ListC2.Add(c2222);

        return ListC2;
    }

            按钮点击的时候btn_test_Click,我并不能指定调用哪一个类。这个时候就可以用一个泛型来接收。有没有大哥能打一小段代码给看看是要怎么搞啊?
  • 写回答

1条回答 默认 最新

  • Tiger_Zhao 2017-03-28 09:26
    关注

    泛型不是这样用的。
    最终使用的时候必须明确是List<Class1>还是List<Class2>,这就必须是两个不同的变量。
    如果你要用同一个变量,那么必须给Class1Class2提取出一个父类,然后把列表变量声明为List<ParentClass>

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏