it-swarm.it

Qual è il miglior convertitore da C # a VB.net?

Mentre cerco nell'interweb una soluzione per i miei problemi su VB.net trovo spesso articoli utili su un argomento specifico, ma il codice è C #. Questo non è un grosso problema, ma è costato un po 'di tempo per convertirlo in VB manualmente. Ci sono alcuni siti che offrono convertitori di codice da C # a VB e viceversa , ma correggere tutti i difetti dopo la conversione del codice richiede quasi tutto il tempo di farlo da solo.

Fino ad ora sto usando http://labs.developerfusion.co.uk/convert/csharp-to-vb.aspx

Sai qualcosa di meglio?

42
Florian

Se non riesci a trovare un buon convertitore, puoi sempre compilare il codice c # e utilizzare il dissasembler in Reflector per vedere il codice Visual Basic. Alcuni dei nomi delle variabili cambieranno.

18
Hallgrim

Telerik ha n buon convertitore basato su SharpDevelop che ha funzionato abbastanza bene nel corso degli anni, sebbene non sia stato aggiornato negli anni (a causa del fatto che si basa su SharpDevelop).

Di recente mi sono imbattuto in un anche convertitore basato su roslyn . Non so quanto funzioni bene o quanto sia ben gestito, ma dato che è open source puoi sempre fork e aggiornarlo secondo necessità.

22
Darren Kopp

SharpDevelop ha un traduttore integrato tra C # e VB.NET. Non è un pensiero perfetto (ad esempio i valori opzionali in VB.NET non hanno un equivalente in C #, quindi la firma del metodo del convertitore deve essere modificata), ma puoi risparmiare un po 'di tempo, poiché stai facendo tutte le operazioni all'interno di un = IDE e non una pagina web (copia codice C #, incolla, premi pulsante, copia codice VB.NET, incolla IDE: P)

12
Ricardo Amores
11
StarLordBlair

Penso che la cosa migliore da fare sia imparare abbastanza dall'altra lingua in modo da poter riscrivere a mano, ci sono alcune differenze abbastanza difficili in alcuni aspetti che non sono sicuro che un convertitore gestirà molto bene. Ad esempio, confronta la mia traduzione da C # a VB di quanto segue:

public class FileSystemEventSubscription : EventSubscription
{
    private FileSystemWatcher fileSystemWatcher;

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

diventa

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

Il C # proviene dall'esempio Custom Activity Framework e temo di aver perso il collegamento ad esso. Ma contiene alcune eredità sgradevoli (dal punto di vista VB).

11
robingbrown

Sto usando un plug-in gratuito di Visual Studio 2012 chiamato Language Convert

Funziona perfettamente su 2010/2012, purtroppo non funziona ancora su VS 2013.

La conversione non è precisa al 100%, ma è sicuramente molto utile, per avviarla per la prima volta è un po 'complicato, controlla prima l'immagine qui sotto: enter image description here

5

L'ultima volta che ho controllato, SharpDevelop ne ha uno ed è anche open source.

4
GEOCHET

Puoi caricare il tuo DLL o EXE in Redgate (precedentemente Lutz Roeder) . Net Reflector , seleziona il tuo metodo e poi la lingua desiderata dalla combinazione linguistica. Il codice di il metodo selezionato verrà visualizzato nella lingua selezionata.

Spero che questo possa essere d'aiuto.

3
Germstorm

Puoi provare questo convertitore . Sono disponibili funzionalità da C # a VB e VB a C #.

Spero che sia di aiuto.

3
Ivan Baev

Pur non rispondendo alla tua domanda, dirò che sono stato in una posizione simile.

Mi sono reso conto che gli esempi di codice in C # erano imbarazzanti quando stavo davvero iniziando in .NET, ma poche settimane dopo il mio primo progetto (dopo aver acquisito maggiore familiarità con .NET framework e VB.NET stesso), ho scoperto che lo era interessante e talvolta utile dover decodificare il codice C #. Non solo in termini di sintassi, ma anche di conoscere le sottili differenze di approccio: è utile avere una mentalità aperta in questo senso.

Mi attengo a VB.NET man mano che imparo sempre di più sul framework, ma tra poco mi immergerò in C # con l'intenzione di diventare "multilingue".

2
CJM

Attualmente uso un plugin per VS2005 che ho trovato su CodeProject ( http://www.codeproject.com/KB/cs/Code_convert_add-in.aspx ); utilizza un servizio esterno ( http://www.carlosag.net/Tools/CodeTranslator/ ) per eseguire la traduzione.

Occasionalmente, quando sono offline, utilizzo uno strumento di conversione ( http://www.kamalpatel.net/ConvertCSharp2VB.aspx ).

2
Davide

Carlos Aguilar Mares ha avuto un convertitore online per circa 40 forevers - Traduttore di codice ma sono d'accordo che Reflector sia la risposta migliore.

2
MotoWilliams

Quello su http://www.developerfusion.com/tools/convert/csharp-to-vb/ (nuovo url) ora supporta la sintassi .NET 3.5 (grazie ancora una volta ai ragazzi #develop) e copierà automaticamente i risultati negli appunti :)

1
James Crowley