首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

初学者提问,C#继承的有关问题

2012-03-23 
菜鸟提问,C#继承的问题。我在程序中定义了几个实体类如下:C# codepublic class 车{public string 轮子个数{

菜鸟提问,C#继承的问题。
我在程序中定义了几个实体类如下:

C# code
public class 车{    public string 轮子个数{get; set;}}public class 单车: 车{    public string 轮子个数{get; set;}    public string 是否可以变速 {get; set;}}public class 汽车: 车{    public string 轮子个数{get; set;}    public string 自动挡还是手动挡{get;set;}}


我现在想写一个通用的方法来检测车轮的个数:
于是我定义了一个类:
C# code
public class 检测类{    public void 检测车辆轮子数(车 obj){         Console.Write(obj.轮子个数);    }}


然后测试:
C# code
单车 bike = new 单车();检测类.检测车辆轮子数(bike);


提示错误:
无效的参数。
请问为什么报错呢?既然单车是车的子类,为什么还是提示无效呢?

[解决办法]
不建议使用中文的类和属性名,虽然C#支持。。

还有,检测类应该先实例化再调用方法吧,又不是静态类
[解决办法]
我用英文写的代码测试没有提示错误
[解决办法]
C# code
 public static object Convert(List<Models.CommonDataDetailModel> entities)          {   return obj;   }
[解决办法]
探讨

引用:

C# code

public static object Convert(List<Models.CommonDataDetailModel> entities)
{ return obj; }



参数不对的,list<T> 你传的对象...
public class HourData : CommonDa……

[解决办法]
C# code
public class 检测类        {            public static void 检测车辆轮子数<T>(List<T> objs) where T : 车            {                foreach (车 obj in objs)                {                    Console.WriteLine(obj.轮子个数);                }            }        }检测类.检测车辆轮子数<单车>(new List<单车>()); 

热点排行