无法隐式转换类型';无效';至';对象';WPF C#
Yo,到目前为止一直在使用Console.Application。 我有以下错误,我不知道如何解决这是我的代码无法隐式转换类型';无效';至';对象';WPF C#,c#,C#,Yo,到目前为止一直在使用Console.Application。 我有以下错误,我不知道如何解决这是我的代码 private void CpuLabel_OnLoaded(object sender, RoutedEventArgs e) { CpuLabel.Content = GetComponent("Win32_Processor", "Name"); } private static void GetComponent(string
private void CpuLabel_OnLoaded(object sender, RoutedEventArgs e)
{
CpuLabel.Content = GetComponent("Win32_Processor", "Name");
}
private static void GetComponent(string hwclass, string syntax)
{
var mos = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM " + hwclass);
foreach (var mj in mos.Get())
{
Convert.ToString(mj[syntax]);
}
}
在一个基本的控制台应用程序上,我只需要它
Console.Writeline(Convert.ToString(mj[syntax]));
然后调用如下方法:
GetComponent("Win32_Processor", "Name");
无论我多么想将它绑定到我的CpuLabel上,我将如何继续这样做 这是因为您的方法没有返回类型。将void更改为键入需要返回的内容。e、 g如果要返回字符串,请尝试以下操作:
private static string GetComponent(string hwclass, string syntax)
{
StringBuilder sb = new StringBuilder();
var mos = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM " + hwclass);
foreach (var mj in mos.Get())
{
sb.Append(Convert.ToString(mj[syntax]));
}
return sb.ToString();
}
您正在调用
GetComponent
,它是用void
返回类型声明的。。。但是您试图将结果分配给CpuLabel.Content
。你期望它做什么?没有结果。。。老实说,您不清楚您的GetComponent
方法实际实现了什么,您正在循环中调用Convert.ToString
,但忽略了该函数的返回值……GetComponent是void
,因此它不返回任何内容。见lol。。我知道。。。这是因为在我的示例中,您需要更改“SomeType”以键入您需要的内容。