我正在使用C#,并尝试将datagridview保存到xml。
我的代码如下:
writer.WriteStartElement("NamaBarang");
writer.WriteString(dgvCart.Rows[i].Cells[1].Value.ToString);
writer.WriteEndElement();
,错误发生在
writer.WriteString(dgvCart.Rows[i].Cells[1].Value.ToString);
错误2的最佳重载方法匹配 'System.Xml.XmlWriter.WriteString(string)'有一些无效 参数C:\ Users \ Eric \ Desktop \ C#\ Gridview \ Gridview \ Form1.cs 59 25 Gridview
和
错误3参数1:无法从“方法组”转换为 'string'C:\ Users \ Eric \ Desktop \ C#\ Gridview \ Gridview \ Form1.cs 59 44 Gridview
我以前是vb用户,所以我在C#中遇到困难 请帮忙。
答案 0 :(得分:0)
您忘记在ToString后面放空括号()
VB对此并不在意,但是C#是-每次您要调用不带参数的方法时,都必须使用空括号
//this is fine in VB
Dim x as String = y.ToString
//so is this
Dim x as String = y.ToString()
//in c# we insist on brackets when calling a method
string x = y.ToString();
//no brackets means "get the value of the property"
int I = mystring.Length;
看到类似方法名称的内容,不带方括号,通常意味着它是属性而不是方法。有时可能意味着该方法本身被用作参数-一种将方法作为变量传递的方式,但这超出了我们在此讨论的范围。如果您有兴趣,请继续阅读委托。
简而言之,如果要使用c#调用方法,则无论是否有参数,它绝对必须在名称后带有方括号
还很容易记住,当您看到有关“是一个方法组”的错误时,它可能意味着您尝试调用一个方法,但省略了方括号。
C#对于VB人士来说是一场挣扎,因为从本质上讲,它更要求语法绝对正确-尽管您会习惯它,并且最终确实会有所帮助!