ich the telerik code converter versuchen bin mit diesem VB-Code in C# zu konvertieren:Was ist der Grund für diesen Fehler bei der Code-Konvertierung?
''' <summary>
''' Return the name of a property, field, or local variable from a lambda expression.
''' </summary>
''' <typeparam name="T">Type of the property, field, or local variable.</typeparam>
''' <param name="expr">A lambda expression that refers to a property, field, or local variable, in the
''' form: '() => Class.Property' or '() => object.Property'.</param>
''' <returns>The name of the property represented by the provided lambda expression.</returns>
Friend Function GetMemberName(Of T)(expr As System.Linq.Expressions.Expression(Of Func(Of T))) As String
Dim memberExpr As System.Linq.Expressions.MemberExpression = TryCast(expr.Body, System.Linq.Expressions.MemberExpression)
If memberExpr Is Nothing Then _
Throw New ArgumentOutOfRangeException("The argument must be a lambda expression in the form: " &
"'() => Class.Member', '() => object.Member', or '() => fieldOrLocal'")
Const VBLocalPrefix = "$VB$Local_" 'odd prefix in $VB$ for local variable member names.
GetMemberName = memberExpr.Member.Name
If (GetMemberName.StartsWith(VBLocalPrefix)) Then GetMemberName = GetMemberName.Substring(VBLocalPrefix.Length)
End Function
Ich erhalte diese Fehlermeldung im Ausgabebereich:
CONVERSION ERROR: Code could not be converted. Details:
-- line 8 col 8: invalid NonModuleDeclaration
Please check for any errors in the original code and try again.
Ich habe Googled telerik "invalid NonModuleDeclaration" und "invalid NonModuleDeclaration" und hat die Ergebnisse durchgesehen, aber sie alle geben im Wesentlichen Workarounds (dh die antwortende Partei sagt "Hier ist die Konvertierung, die ich manuell für Sie getan habe) und erklären nicht, was den Fehler verursacht oder wie man ihn vermeidet.
Ich weiß, wie ich den Code manuell konvertieren kann, aber meine Frage ist: Warum kann der Konverter diesen Code nicht konvertieren?
ich der Fehler in Zeile 8, Spalte 8 - was ist, wenn ich mich nicht irre, dieser Teil: 'System.Linq.Expressions.Expression (Of Func (Of T))'. –
Meine schlechte, ich hatte die XML-Dokumente entfernt, um zu versuchen, um zu sehen, ob das der Grund war und auch der Code Einrückungen hatte - und ich kopierte die Ausgabe davon. Ich bekomme die gleiche Zeile/Spalte, wenn ich es zurück (aktualisiert). –