C# 如何以string.format打印对象类型
我有一个狮子类,我想打印的类型C# 如何以string.format打印对象类型,c#,C#,我有一个狮子类,我想打印的类型 public override string ToString() { return String.Format("{0} This is a [{2}] Called {1}", SpeciesName, GoesBy ); } 我想说的是“猫,这是一只叫做Felix的[狮子]使用GetType().Name 鉴于您的代码中有以下内容: public class Lion : Cat { ... } 您只需获取
public override string ToString()
{
return String.Format("{0} This is a [{2}] Called {1}", SpeciesName, GoesBy );
}
我想说的是“猫,这是一只叫做Felix的[狮子]使用GetType().Name
鉴于您的代码中有以下内容:
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
如果没有看到类声明,很难准确回答您的问题。假设您有一个继承自
Cat类的Lion类
:
public override string ToString()
{
return String.Format("{0} This is a [{1}] Called {2}", base.GetType(), this.GetType(), this.Name );
}
然后在狮子类中
:
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 );
}
Lion继承自Cat吗?Lion
从哪里来?我在你的字符串中没有看到任何Lion
。你的格式需要3个参数,但你只传递了2个。不。我只想知道如何打印对象的类型??Lion是我想要打印的类我在2分钟前回答了同样的问题…@Eval And Taylor Maxwell在你之前回答了同样的问题。你回答了同样的问题,可能是因为你没有看到其他答案。很可能,同样的事情发生在这里。@Eval:抱歉,我已经更改了我的答案,请参阅editStilling名称空间。例如animalKindom.Lion???@Francis Gall:你尝试过第二种解决方案吗?对我有效!也有效打印名称空间,例如AnimalKingdom.liuse使用类型上的一个属性(由GetType返回),该属性只返回类型名….可能是Type.name,但我记不起来了,msdn或intellisense会确认