菜鸟提问,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 class 检测类 { public static void 检测车辆轮子数<T>(List<T> objs) where T : 车 { foreach (车 obj in objs) { Console.WriteLine(obj.轮子个数); } } }检测类.检测车辆轮子数<单车>(new List<单车>());