gpt4 book ai didi

c# - 无法从自定义类转换为字符串

转载 作者:太空宇宙 更新时间:2023-11-03 19:38:42 25 4
gpt4 key购买 nike

这似乎应该是世界上最简单的事情,但我已经离开 C# 一段时间了。我正在尝试开始一个新项目,而我满是尘土的旧大脑让我为此感到痛苦。

我已经创建了一个简单的类,我正在尝试重写 ToString() 方法。我发现的是,在创建控制台应用程序时,编译器可以毫无问题地将我的对象转换为字符串,但是当我切换到 Windows 窗体时,编译器会犹豫,并强制我显式调用 .ToString() 我在做什么错了吗?

提前致谢,
大卫

public class TestClass1
{
private Int32 value;

public TestClass1()
{ value = 0;}

public override string ToString()
{ return value.ToString(); }
}

public partial class MainForm : Form
{
public MainForm()
{ InitializeComponent(); }

private void Button1_Click(object sender, EventArgs e)
{
TestClass1 test = new TestClass1();
MessageBox.Show(test.ToString()); // this compiles
MessageBox.Show(test); // this doesn't
// Argument 1: Cannot convert TestClass1 to string
}
}

最佳答案

Console.WriteLine() 方法有 this overload它以 object 作为参数,允许您直接将几乎所有内容传递给它。据推测,它随后为您在参数上调用ToString

然而,all overloads of MessageBox.Show以一个String作为消息,所以不能直接将自己的类传入方法中。

关于c# - 无法从自定义类转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57541005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com