之前一直用C++,对C#的语法不是很熟,请朋友们多教教,谢谢了.下面的代码,派生类的实例怎样写,可以去调用基类的方法呢?class BaseCls
{
public void Func()
{
Console.WriteLine("Base Func");
}
}
class DivCls: BaseCls
{
public new void Func()
{
Console.WriteLine("Div Func");
}
public void RunBaseFunc()//在类里面写base可以调用基类的,但我想在类外面,用实例来调用
{
base.Func();
}
}class MainEntry
{
static void Main(string[] args)
{
DivCls div = new DivCls();
div.Func();下面是我在C++写的可以在派生类调用基类的代码,不知道在C#里要怎么写?class Base1{
public:
void Func(){
cout<<"Base Func"<<endl;
}
};class Div1 : public Base1{
public:
void Func(){
cout<<"Div Func"<<endl;
}
};int main(int argc, char* argv[])
{
Div1 d1;
d1.Base1::Func();//可用实例调用基类的方法
{
public void Func()
{
Console.WriteLine("Base Func");
}
}
class DivCls: BaseCls
{
public new void Func()
{
Console.WriteLine("Div Func");
}
public void RunBaseFunc()//在类里面写base可以调用基类的,但我想在类外面,用实例来调用
{
base.Func();
}
}class MainEntry
{
static void Main(string[] args)
{
DivCls div = new DivCls();
div.Func();下面是我在C++写的可以在派生类调用基类的代码,不知道在C#里要怎么写?class Base1{
public:
void Func(){
cout<<"Base Func"<<endl;
}
};class Div1 : public Base1{
public:
void Func(){
cout<<"Div Func"<<endl;
}
};int main(int argc, char* argv[])
{
Div1 d1;
d1.Base1::Func();//可用实例调用基类的方法
解决方案 »
- 导出EXCEL能否保留EXCEL计算公式?
- 怎么在已经打开的word中打开一个模板,而不是新建一个word窗口打开
- 关于base的问题
- winform 中程序第二次启动时如何调用主窗体中的控件?
- 放200分问一个.net注释的问题(自定义注释式样),用.net的朋友进来看看
- 往ORCALE里存图片,点击保存后却报错“ORA-01461: 仅可以为插入 LONG 列的 LONG 值赋值”,哪位高人给个解决办法,代码如下,急等,拜托
- 在不同机上启动程序时某些报错,急!(求救,在线等,100分相送)
- .net 2005 安装问题
- 关于保存内容到excel的问题
- 哪里有C# professional 第二版的电子版
- 页面的日历,还有日程提醒功能如何实现。。。。。。。。。。。。【标题要长】
- 请推荐好书谢谢
base.Func();
BaseCls b = (BaseCls)div as BaseCls;
b.Func();
div.Func();
{
public virtual void Func() //定义虚方法
{
Console.WriteLine("Base Func");
}
}
class DivCls : BaseCls
{
public override void Func()
{
Console.WriteLine("Div Func");
}
} class MainEntry
{
static void Main(string[] args)
{
BaseCls dc = new DivCls();
dc.Func(); //输出Div Func BaseCls bs = new BaseCls();
bs.Func(); //输出Base Func }
}
bc.Func();
虚函数的确是个好方法,不过也是对应的如果是基类就执行基类,如果对应派生类就执行派生类,没有说可以自由控制执行哪一个的 Func回2楼,我的代码极可能并不是一个好的设计,只是为了测试一下语法的使用而已.参考3楼的代码,我这样实现了一下.
DivCls div = new DivCls();
div.Func(); //执行派生类本身的
((BaseCls)div).Func(); //执行基类的
//di.Func();
((BaseCls)di).Func();