it-swarm-eu.dev

Was ist der beste C # in VB.net Konverter?

Während ich im Internet nach einer Lösung für meine VB.net-Probleme suche, finde ich häufig hilfreiche Artikel zu einem bestimmten Thema, aber der Code ist C #. Das ist kein großes Problem, aber es kostet einige Zeit, es manuell in VB= zu konvertieren. Es gibt einige Sites, die Codekonverter von C # in VB und umgekehrt anbieten , aber alle Fehler nach der Code-Konvertierung zu beheben, ist fast so zeitaufwendig wie es in erster Linie von mir selbst zu tun.

Bis jetzt benutze ich http://labs.developerfusion.co.uk/convert/csharp-to-vb.aspx

Weißt du was besseres?

42
Florian

Wenn Sie keinen guten Konverter finden, können Sie den C # -Code immer kompilieren und den Dissasembler in Reflector verwenden, um Visual Basic-Code anzuzeigen. Einige der Variablennamen ändern sich.

18
Hallgrim

Telerik hat einen guten Konverter , der auf SharpDevelop basiert, der im Laufe der Jahre ziemlich gut funktioniert hat, obwohl er seit Jahren nicht mehr aktualisiert wurde basierend auf SharpDevelop).

Ich bin vor kurzem auch auf einen Roslyn-basierten Konverter gestoßen . Ich weiß nicht, wie gut es funktioniert oder wie gut es gewartet wird, aber da es Open Source ist, können Sie es jederzeit nach Bedarf aktualisieren.

22
Darren Kopp

SharpDevelop hat einen eingebauten Übersetzer zwischen C # und VB.NET. Ist nicht perfekt gedacht (z. B. haben die optionalen Werte in VB.NET kein Äquivalent in C #, sodass die Signatur der Konvertierungsmethode bearbeitet werden muss), aber Sie können etwas Zeit sparen, da Sie alle Operationen in einem = ausführen IDE und keine Webseite (C # -Code kopieren, einfügen, Taste drücken, VB.NET-Code kopieren, einfügen auf IDE=: P)

12
Ricardo Amores
11
StarLordBlair

Ich denke, das Beste, was man tun kann, ist, genug von der anderen Sprache zu lernen, damit man sie von Hand umschreiben kann. Es gibt einige ziemlich schwierige Unterschiede in bestimmten Aspekten, mit denen ein Konverter nicht so gut umgehen würde. Vergleichen Sie zum Beispiel meine Übersetzung von C # zu VB der folgenden:

public class FileSystemEventSubscription : EventSubscription
{
    private FileSystemWatcher fileSystemWatcher;

    public FileSystemEventSubscription(IComparable queueName, 
        Guid workflowInstanceId, FileSystemWatcher fileSystemWatcher) : base(queueName, workflowInstanceId)
    {
        this.fileSystemWatcher = fileSystemWatcher;
    }

wird

Public Class FileSystemEventSubscription
    Inherits EventSubscription  
    Private myFileSystemWatcher As FileSystemWatcher
    Public Sub New(ByVal QueueName As IComparable, ByVal WorkflowInstanceID As Guid, ByVal Watcher As FileSystemWatcher)
        MyBase.New(QueueName, WorkflowInstanceID)
        Me.myFileSystemWatcher = Watcher
    End Sub

Das C # stammt aus dem Custom Activity Framework-Beispiel, und ich fürchte, ich habe den Link dazu verloren. Aber es enthält einige böse aussehende Vererbung (aus einer VB Sicht).

11
robingbrown

Ich verwende ein kostenloses Visual Studio 2012-Plug-In mit dem Namen Language Convert

Es funktioniert perfekt für 2010/2012, funktioniert leider noch nicht bei VS 2013.

Die Konvertierung ist nicht 100% genau, aber es ist auf jeden Fall sehr hilfreich, zum ersten Mal zu starten, es ist ein bisschen schwierig, überprüfen Sie vor dem Bild unten: enter image description here

5

Zuletzt habe ich überprüft, SharpDevelop hat eine und es ist auch Open Source.

4
GEOCHET

Sie können Ihre DLL oder EXE in die von Redgate (ehemals Lutz Roeder) . Net Reflector laden, Ihre Methode und dann die gewünschte Sprache aus der Sprachenkombination auswählen Die ausgewählte Methode wird in der ausgewählten Sprache angezeigt.

Ich hoffe das hilft.

3
Germstorm

Sie können dies versuchen Konverter . Es gibt Funktionen für C # zu VB und VB zu C #.

Hoffe das hilft.

3
Ivan Baev

Während ich Ihre Frage nicht beantworte, sage ich, dass ich in einer ähnlichen Position war.

Als ich mit .NET anfing, stellte ich fest, dass Codebeispiele in C # umständlich waren. Einige Wochen nach meinem ersten Projekt (nachdem ich mich mit dem .NET-Framework und VB.NET selbst vertraut gemacht hatte) stellte ich fest, dass dies der Fall war interessant und manchmal von Vorteil, um den C # -Code rückentwickeln zu müssen. Nicht nur in Bezug auf die Syntax, sondern auch in Bezug auf die subtilen Unterschiede in der Herangehensweise - es ist nützlich, in dieser Hinsicht aufgeschlossen zu sein.

Ich bleibe bei VB.NET, wenn ich mehr und mehr über das Framework erfahre, aber in Kürze werde ich mich in C # einarbeiten, um "mehrsprachig" zu werden.

2
CJM

Derzeit verwende ich ein Plugin für VS2005, das ich in CodeProject gefunden habe ( http://www.codeproject.com/KB/cs/Code_convert_add-in.aspx ); Es verwendet einen externen Dienst ( http://www.carlosag.net/Tools/CodeTranslator/ ), um die Übersetzung durchzuführen.

Wenn ich offline bin, verwende ich gelegentlich ein Konvertierungstool ( http://www.kamalpatel.net/ConvertCSharp2VB.aspx ).

2
Davide

Carlos Aguilar Mares hat einen Online-Konverter für ungefähr 40 Forevers - Code Translator, aber ich würde zustimmen, dass Reflector die bessere Antwort ist.

2
MotoWilliams

Der unter http://www.developerfusion.com/tools/convert/csharp-to-vb/ (neue URL) unterstützt jetzt die .NET 3.5-Syntax (danke an die #develop-Leute noch einmal) , und kopiert die Ergebnisse automatisch in Ihre Zwischenablage :)

1
James Crowley