具体问题如下:class A{ protected virtual void fun1(){}
};
class B:A{ protected override void fun1(){
// do override code
}
}
现在是class C:B{
protected void fun2(){
// 在这里想调用A的fun1的功能,想屏蔽调B重写的fun1功能
}
};问怎么处理?谢谢!
};
class B:A{ protected override void fun1(){
// do override code
}
}
现在是class C:B{
protected void fun2(){
// 在这里想调用A的fun1的功能,想屏蔽调B重写的fun1功能
}
};问怎么处理?谢谢!
解决方案 »
- CSharp 界面刷新 Thread.Sleep()导致界面假死怎么解决?
- GetStockObject(DEFAULT_GUI_FONT)中的DEFAULT_GUI_FONT是如何定义的,怎么用的
- Windows XP或是其它Windwos 的网络连接状态断开或连接的Windows消息是多少呢?
- C# winform程序打包,想在安装后copy一个文件到C:\,碰到怪问题?
- 按时间生成字符串
- 程序员资讯网址大全
- 只要一运行调试就会报“未能创建AppDomain”
- .net 生成缩略图!!
- 在C#中如何使一个Form为不可见的?
- 送分来了,c#超简单问题,Response.Write的输出位置控制
- API如何同时播放两种音乐
- 新手提问!
};
class B:A{ protected new void fun1(){}
}
class C:B{
protected void fun2(){
base.base.fun1(); // 在这里想调用A的fun1的功能,想屏蔽调B重写的fun1功能
}
};
{
public C()
{
}
private A a; protected void fun2()
{
if(a == null)
a = new A();
a.fun1();
}
}
{ protected void fun1()
{
Console.WriteLine("a");
}
};
class B:A
{ protected new void fun1()
{
Console.WriteLine("b");
} protected void funA1()
{
base.fun1();
}
}
class C:B
{
public void fun2()
{
base.funA1(); // 在这里想调用A的fun1的功能,想屏蔽调B重写的fun1功能
}
};
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
///
class class1
{
protected void PutStr()
{
Console.WriteLine("base base method!!!!!");
}
}
class class2:class1
{
public class2()
{
}
} class class3 : class2
{
public class3()
{
base.PutStr();
}
} class Class
{
[STAThread]
static void Main(string[] args)
{
class3 c3 = new class3();
}
}}
{
public class3()
{
base.PutStr();
}
}这里的base直接指的是 "父类的父类"
如果父类中改写了父类的父类中的该方法,则无法直接调用父类的父类中的该方法