C# 这个变量属于哪一类?
C# 这个变量属于哪一类?,c#,C#,myhorse是否会再次在Horse类中定义方法?这里有两点 1º:投多少次都没关系。如果编译器成功地将哺乳动物再次变成马,那么他将成为马,因此他将拥有马的所有行为 第二:以这种方式堆叠石膏绝对不是一种好的做法。是的,会的。尽管它正在经历向上投射,但您会发现对于向上投射(哺乳动物)实例,以下条件仍然有效: class Program { class Mammal { } class Horse : Mammal { } static
myhorse是否会再次在Horse类中定义方法?这里有两点
1º:投多少次都没关系。如果编译器成功地将哺乳动物再次变成马,那么他将成为马,因此他将拥有马的所有行为
第二:以这种方式堆叠石膏绝对不是一种好的做法。是的,会的。尽管它正在经历向上投射,但您会发现对于向上投射(哺乳动物
)实例,以下条件仍然有效:
class Program
{
class Mammal
{
}
class Horse : Mammal
{
}
static void Main()
{
Horse myHorse = new Horse();
Mammal myMammal = myHorse;
Horse myHorseAgain = myMammal as Horse;
}
}
但实际上这样做是一种反模式。选择使用的架构。您将其转换为Horse
,因此答案是肯定的。请注意,向下转换通常不是一个好主意,而且肯定是一个代码,因为变量属于我,作为您的灵魂……不要问这个问题。运行代码。
(myMammal is Horse) == true