一支糖包仔 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>

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

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题