Ich habe diese private Zeichenfolge in C# mit LINQ erstellt, die einen Wert in einer XML-Datei zurückgegeben. Ich muss dies in eine VB.Net-Funktion konvertieren. Ich habe es mit C# converter
versucht, aber es funktioniert nicht.Konvertieren von C# privaten Zeichenfolge in VB.Net-Funktion
Können Sie mir bitte helfen?
Dies ist der Code.
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();
}
Hier ist die VB-Code, den ich von der automatischen Code-Konverter erhalten:
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
Die Fehler sind in der SELECT NEW
:
Statements und Etiketten sind nicht gültig zwischen dem Auswahl Fall und erster Fall
Sie kann zeigen Sie, was der resultierende VB-Code war und erklären Sie, welcher Teil davon nicht funktioniert und was die Fehlermeldung ist? –
@RoccoTateo, gibt es einen Unterschied zwischen einer privaten Methode, die eine Zeichenkette gegen eine private Zeichenkettenvariable zurückgibt. Sie müssen die Frage vielleicht redigieren und '' fragen, wie ich diese C# Methode in eine VB Funktion ' – MethodMan