我在用LINQ創建的C#中創建了一個私有字符串,該字符串返回在XML文件中找到的值。我需要將其轉換爲VB.Net函數。我用C# converter
嘗試過,但它不起作用。將C#私有字符串轉換爲VB.Net函數
你能幫我嗎?
這是代碼。
private string ImportoXML(string PercorsoXML, string ID)
{
XElement xdoc = XElement.Load(PercorsoXML, LoadOptions.PreserveWhitespace);
string ns = xdoc.Name.Namespace.NamespaceName;
var elements = xdoc.Elements(XName.Get("PmtInf", ns))
.Elements(XName.Get("DrctDbtTxInf", ns));
var ElencoValori = from lv2 in elements
select new
{
PmtId = lv2.Element(XName.Get("DrctDbtTx", ns))
.Element(XName.Get("MndtRltdInf", ns))
.Element(XName.Get("MndtId", ns)).Value, InstdAmt
= lv2.Element(XName.Get("InstdAmt", ns)).Value;
};
return ElencoValori.Where(c => c.PmtId.EndsWith(ID)).FirstOrDefault().InstdAmt.ToString();
}
這裏是VB代碼,我從自動代碼轉換得到:
Private Function ImportoXML(ByVal PercorsoXML As String, ByVal ID As String) As String
Dim xdoc As XElement = XElement.Load(PercorsoXML, LoadOptions.PreserveWhitespace)
Dim ns As String = xdoc.Name.[Namespace].NamespaceName
Dim elements = xdoc.Elements(XName.[Get]("PmtInf", ns)).Elements(XName.[Get]("DrctDbtTxInf", ns))
Dim ElencoValori = From lv2 In elements
SELECT NEW
{
PmtId = lv2.Element(XName.[Get]("DrctDbtTx", ns)).Element(XName.[Get]("MndtRltdInf", ns)).Element(XName.[Get]("MndtId", ns)).Value,
InstdAmt = lv2.Element(XName.[Get]("InstdAmt", ns)).Value
}
End Select
Return ElencoValori.Where(Function(c) c.PmtId.EndsWith(ID)).FirstOrDefault().InstdAmt.ToString()
End Function
的錯誤是在SELECT NEW
:
報表和標籤都沒有選擇的情況下之間有效和第一種情況
你能顯示由此產生的VB代碼是什麼,並解釋哪部分不起作用以及錯誤信息是什麼? –
@RoccoTateo,返回一個字符串的私有方法vs私有字符串變量之間有區別..你需要編輯這個問題也許並問'如何將此C#方法轉換成VB功能' – MethodMan