如何将以下内容从VB转换为C#.net?

时间:2016-06-21 14:07:27

标签: c# .net vb.net

我正在将一些代码从VB转换为C#,一切都很顺利,直到以下与XmlElements相关的行。这是VB:

Dim headerElement As XmlElement = document.DocumentElement("ReplyHeader")
Dim errorMessage As String = headerElement.Attributes("errorMessage").Value
errorCode = headerElement.Attributes("returnCode").Value

这就是我将其转换为C#

的方式
XmlElement headerElement = document.DocumentElement("ReplayHeader");
string errorMessage = headerElement.Attributes("errorMessage").Value;
errorCode = headerElement.Attributes("returnCode").Value;

但我收到的错误如“非可调用成员'System.Xml.XmlDocument.DocumentElement'不能像方法一样使用。”和“System.Xml.XmlElement.Attributes是'属性',但用''方法'”

我的问题真的源于不要过分理解VB代码在这里尝试做什么。例如,第一行是创建包含文本“ReplyHeader”的XmlElement吗?如果是这样,我该如何在C#中执行此操作?

感谢您的帮助!

2 个答案:

答案 0 :(得分:7)

你想要括号,在c#中,()对表示一个FUNCTION调用。要访问元素,您需要使用括号[]索引器

XmlElement headerElement = document.DocumentElement["ReplayHeader"];
string errorMessage = headerElement.Attributes["errorMessage"].Value;
errorCode = headerElement.Attributes["returnCode"].Value;

答案 1 :(得分:2)

词法转换器无法区分VB的索引器函数调用,它们在VB中使用相同的语法但在C#中使用不同的语法:

sub save()
     Application.DisplayAlerts= False 
     FileName1 = Range("D4")
     ActiveWorkbook.SaveCopyAs FileName:="C:\Users\felonj\Desktop\list\" & FileName1 & "-" & "Audit checklist" & ".xlsm"
     MsgBox "File Saved successfully!", , "Save"

    Application.DisplayAlerts = True

End sub