c# - 从派生类引用c#访问基类的虚方法
问题描述
当该类作为参数传递给静态方法时,我试图从其派生类访问该方法的基本实现。在下面的示例中,我希望控制台在调用 Child.WriteSomthing() 时写入“This is Parent ...”。
就目前而言,它递归地调用 Child.WriteSomthing() 。有什么办法可以做到这一点?
public class Parent
{
public virtual void WriteSomething()
{
Console.WriteLine("This is Parent...");
}
public class Child : Parent
{
public override void WriteSomething()
{
Helpers.SomeHelper(3, this);
}
}
public static class Helpers
{
public static void SomeHelper(int i, Child child)
{
switch (i)
{
case 1:
Console.WriteLine("Child 1...");
break;
case 2:
Console.WriteLine("Child 2...");
break;
default: (Parent)child.WriteSomething();
}
}
}
解决方案
推荐阅读
- flutter - 防止用户在 Dart 中传递负值
- python - 当我希望我的 Discord 机器人发送 reddit 模因时,它会返回错误。我该如何解决?
- android - 空 ID 的painterResource
- amazon-web-services - 为什么 RStudio 服务器正在运行我的闪亮应用程序,但该应用程序没有显示在 aws ec2 实例上的闪亮服务器中?
- c# - Xamarin Forms:尝试为 Android 构建条件格式,错误:System.InvalidCastException Message=Object must implement IConvertible
- css - TypeError:无法读取类绑定上的 vue 绑定对象属性的未定义属性
- javascript - 当浏览器中没有垂直滚动时,div被剪切
- nginx - NGINX 中的映射别名
- reactjs - 如何使用 React Native Paper Fab 获得圆形按钮
- python - python2到python3修改源码过程中出现的问题