另一个需要找出c#的上下文问题 所以我创建了一个带有重载方法的类,现在我想WriteLine所有的方法。不确定这是否有意义,这就是我在这里的原因。
我希望WriteLine打印出新测试。
// this is the class with the method overload
public Test(string make, string model, int year, string colour)
{
Make = make;
Model = model;
Year = year;
Colour = colour;
}
// this is what I called
Test myTest = new Test("chev", "ava", 2002, "blue");
Console.WriteLine(myTest);
答案 0 :(得分:4)
您必须覆盖类中的ToString()
才能返回格式正确的字符串。 ToString()
的默认实现只返回类的名称。
http://msdn.microsoft.com/en-us/library/ms173154(v=vs.80).aspx
把它放在你的班级
public override string ToString()
{
return string.Format("{0} {1} {2} {3}",Make,Model,Year,Colour);
}
答案 1 :(得分:0)
首先,您已重写Constructor,而不是类方法。其次,如果要打印类成员的所有值(传递给构造函数),则必须编写自己的覆盖ToString方法。您可以按照要显示的方式格式化输出:
public override string ToString()
{
var output = string.Format("The Car Model is {0} {1} which is made in year {2}, color {3}",Model,Make,Year,Colour);
return output;
}