我要写这样的一个函数,入仓单业务处理中,需要用GetOrderData(int _orderID)返回入仓单数据,但是我的入仓单数据是继承自DataSet的数据实体,GetOrderData(int _orderID)函数是继承自单据类GetOrderData(int _orderID)的,在单据类中返回DataSet实体,现在我用Override,系统报错为,返回值不同,不能被重写。我想我的返回值是继承自DataSet,但是还是不能Override。相同的道理,我的函数参数不同也不能Override,即使参数A是继承B的
各位有没有什么办法?
各位有没有什么办法?
解决方案 »
- 这个是控件么
- 请问怎么用C#打开指定文件夹下的所有文件..?
- 使用filter把背景图片拉伸后控件点击使用不了
- 求救各位大侠!cmpp动态链接库的问题
- c#中如何整行的读取文本中的字符串
- aboutbox的问题, 大哥们帮帮忙, 谢谢
- 关于输入控件问题
- 请问如何用C#执行远程SQL脚本,实现对本地EXCEL表格的更新?
- 我们公司很多技术员用的SQL数据库辅助工具!智能生存存储过程和SQL代码!送给大家
- 郁闷:重装了os,便下的vs.net 2003中文版装不上;提示win\Microsoft.NET\Framework\URTInstallPath\zh-CHS下所有的xml文件找不到
- 郁闷了一下午的问题!请各位高手帮忙!!!
- 按字母排序控件,怎样恢复????????????????????????????????????????????????????
{
基类GetOrderData中返回的类型 tmp = base.GetOrderData(_orderID); 对tmp进行分析,返回当前要返回的类型;
}楼主应该知道new与override的区别
在这种情况只能用new
函数的重载是靠返回值和参数还有函数名来确定的,这些相当一个函数身份证,当然不能改。用楼上的方法可以解决一些问题,但从楼主的本意来说是不对的,因为我想楼主要用到多态,如果用new 的方法的话,必须显示指定调用这些方法的类的类型
例如
public class a
{
public virtual void func()
{}
}
public class b:a
{
public new int void func()
{
reutrn 0;
}
}
..
程序里可能要这样调用
a a1 = new b();
a.func();//这里调用的是a的func,而不是b的func解决方法:使用强制转换,但可以会出现类裁剪