【发布时间】:2021-08-02 04:49:29
【问题描述】:
我查看了这段代码,我想在不使用 this is
的情况下重构保持相同的逻辑class Animal
{
public void Verify()
{
if (this is Animal) {
Console.WriteLine("Animal");
} else if (this is Person) {
Console.WriteLine("Person");
} else if (this is Home) {
Console.WriteLine("Home");
} else {
Console.WriteLine("*******");
}
}
}
class Person
...
class Home
...
【问题讨论】:
-
(GetType() == typeof(Animal)
-
这将始终打印“Animal”。
-
这看起来像是一个接口的工作,而不是
else ifs的序列。 -
这里应该有继承层次吗?我看不出
this is Animal怎么会是假的。