C#泛型类访问子类成员

要处理的问题是父类对象不能访问子类对象的字段。

进入正题:
有两个类,一个父类一个子类。解决的问题是要在实例化之后可以访问子类成员。
父类:
public class Student
{
    public string school;
}
子类:
public class College:Student
{
    public int age;
    public College(string school, int age)
    {
        this.school = school;
        this.age = age;
    }
}

实例化:
        List<Student> studends = new List<Student>();
        studends.Add(new College("aaa",20));   
        studends.Add(new College("bbb", 19));
        string school = studends[0].school;   
        //int age = studends[0].age;  报错,不好访问子类字段

        List<College> collegestudent = studends.Cast<College>().ToList(); 
        int age = collegestudent[0].age;  //访问

定义的students是父类对象,而访问的age字段是子类字段。父类对象不能直接访问子类字段,所以要进行转换。
这里利用Cast()方法将父类集合转换成子类集合。
当然也可以用循环语句取出所有的父类对象,一个一个转。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值