visual traducir tool studio online net csharp convertor convert code asp c# vb.net converter

traducir - ¿Cuál es el mejor convertidor de C#a VB.net?



vb to c# converter tool (13)

Mientras busco en el interweb una solución para mis problemas de VB.net, a menudo encuentro artículos útiles sobre un tema específico, pero el código es C #. Eso no es un gran problema, pero cuesta algo de tiempo convertirlo a VB manualmente. Hay algunos sitios que ofrecen convertidores de código de C # a VB y viceversa, pero para corregir todos los defectos después de la conversión de código es casi tan lento como hacerlo por mí mismo en primer lugar.

Hasta ahora estoy usando http://labs.developerfusion.co.uk/convert/csharp-to-vb.aspx

¿Sabes algo mejor?




Carlos Aguilar Mares ha tenido un conversor en línea de alrededor de 40 forevers - Traductor de código, pero estoy de acuerdo con que Reflector es la mejor respuesta.


Creo que lo mejor que se puede hacer es aprender lo suficiente del otro idioma para poder reescribirlo a mano, hay algunas diferencias bastante difíciles en ciertos aspectos que no estoy seguro de que un convertidor pueda manejar muy bien. Por ejemplo, compare mi traducción de C # a VB de lo siguiente:

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

se convierte

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

El C # proviene de la muestra del Custom Activity Framework y me temo que he perdido el enlace. Pero contiene una herencia desagradable (desde el punto de vista VB).



Estoy usando un complemento gratuito de Visual Studio 2012 llamado Language Convert

Funciona perfectamente en 2010/2012, lamentablemente aún no funciona en VS 2013.

La conversión no es 100% precisa, pero definitivamente es muy útil, para lanzar por primera vez es un poco complicado, consulte antes de la imagen a continuación:


La última vez que lo verifiqué, SharpDevelop tiene uno y también es de código abierto.


Mientras no conteste su pregunta, diré que he estado en una posición similar.

Me di cuenta de que los ejemplos de código en C # eran incómodos cuando comencé realmente en .NET, pero unas semanas después de mi primer proyecto (después de que me familiaricé más con .NET Framework y VB.NET), descubrí que era interesante y en ocasiones beneficioso tener que aplicar ingeniería inversa al código C #. No solo en términos de sintaxis, sino también aprendiendo acerca de las diferencias sutiles en el enfoque, es útil tener una mente abierta en este sentido.

Me estoy quedando con VB.NET a medida que aprendo más y más sobre el framework, pero en poco tiempo voy a sumergirme en C # con la intención de convertirme en ''multilingüe''.


Puede cargar su DLL o EXE en Redgate (anteriormente Lutz Roeder''s) Reflector , seleccione su método y luego el idioma deseado desde el combo de idioma. El código del método seleccionado se mostrará en el idioma seleccionado.

Espero que esto ayude.



Si no puede encontrar un buen convertidor, siempre puede compilar el código c # y usar el dispersor en Reflector para ver el código de Visual Basic. Algunos de los nombres de las variables cambiarán.


SharpDevelop tiene un traductor incorporado entre C # y VB.NET. No es perfecto (por ejemplo, los valores opcionales en VB.NET no tienen un equivalente en C #, por lo que la firma del método del convertidor debe ser editada), pero puede ahorrar algo de tiempo, ya que está realizando todas las operaciones dentro de un IDE y no una página web (copie el código de C #, pegue, pulse el botón, copie el código de VB.NET, pegue en IDE: P)


Telerik tiene un buen convertidor basado en SharpDevelop que ha funcionado bastante bien a lo largo de los años, aunque no se ha actualizado en años (debido a que está basado en SharpDevelop).

Recientemente me encontré con un convertidor basado en roslyn también . No sé qué tan bien funciona ni qué tan bien conservado está, pero como es de código abierto, siempre puede bifurcarlo y actualizarlo según sea necesario.