问题描述
考虑以下代码:
using System;
public class Program
{
public static void Main()
{
A m1 = new B();
B m2 = new B();
Console.Write("m1: ");
m1.fun();
Console.Write("m2: ");
m2.fun();
}
}
abstract class A
{
public abstract void fun ();
}
class B : A
{
public override void fun()
{
if (this.GetType() == typeof(A)) // ????
Console.WriteLine("A");
else Console.WriteLine("B");
}
}
我希望您修改if
语句,以便程序为A
写m1
,为B
写m2
。
我一直在尝试与GetType()
,typeof
,is
和as
进行各种组合,但无法完成这项工作。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)