我有一个Lion类,我想打印类型
public override string ToString()
{
return String.Format("{0} This is a [{2}] Called {1}", SpeciesName, GoesBy );
}
我想说的是什么" Cat这是一只名为Felix的[狮子]
答案 0 :(得分:2)
使用GetType()。名称
public override string ToString()
{
return String.Format("{0} This is a [{2}] Called {1}", GetType().Name, SpeciesName, GoesBy );
}
答案 1 :(得分:2)
假设您有Lion class
,其继承自Cat class
:
然后在Lion class
:
public override string ToString()
{
return String.Format("{0} This is a [{1}] Called {2}", base.GetType(), this.GetType(), this.Name );
}
编辑:为了提供与其他解决方案不同的解决方案,此解决方案仅为您提供Cat
和Lion
类的名称(无命名空间)。
public override string ToString()
{
return String.Format("{0} This is a [{1}] Called {2}", typeof(Cat).Name, typeof(Lion).Name, this.Name );
}
答案 2 :(得分:1)
鉴于您的代码中有以下内容:
public class Lion : Cat { ... }
您只需要获取Lion
的基本类型即可显示这些内容。
return String.Format("{0} This is a [{1}] Called {2}",
base.GetType().ToString(), //SHould give you Cat
this.GetType().ToString(), //Should give you Lion
this.GoesBy.ToString()); //Should give you Felix
虽然没有看到班级声明,但很难准确回答你的问题。