如何通过Console.WriteLine完整输出自定义类的实例内容?
解决方法
有两种可行的方式实现你想要的控制台输出:
方法1:直接调用已定义的StringRepresentation属性
你已经在类中实现了返回目标字符串的StringRepresentation属性,直接在Console.WriteLine中引用它即可:
Console.WriteLine(ageProperty.StringRepresentation);
方法2:重写ToString()方法
默认情况下,Console.WriteLine会调用对象的ToString()方法,该方法默认返回类的完全限定名。你可以在JsonIntProperty类中重写这个方法,让它返回你需要的字符串:
public class JsonIntProperty { private string characteristic; private int age; public JsonIntProperty(string chr, int agee) { characteristic = chr; age = agee ; } public string StringRepresentation { get { return $"{characteristic} : {age}"; } } // 重写ToString方法 public override string ToString() { // 复用已有的StringRepresentation属性 return StringRepresentation; // 也可以直接写逻辑:return $"{characteristic} : {age}"; } }
之后执行Console.WriteLine(ageProperty),就能直接输出age : 21了。
内容的提问来源于stack exchange,提问作者xæliudzyh
相关产品推荐
相关产品推荐

