C#에서 VB.net으로 변환하는 가장 좋은 변환기는 무엇입니까?[닫은]

StackOverflow https://stackoverflow.com/questions/88359

  •  01-07-2019
  •  | 
  •  

문제

내 VB.net 문제에 대한 해결책을 찾기 위해 인터넷을 검색하는 동안 특정 주제에 대한 유용한 기사를 자주 찾았지만 코드는 C#입니다.큰 문제는 아니지만 수동으로 VB로 변환하는 데 시간이 좀 걸립니다.C#에서 VB로 또는 그 반대로 코드 변환기를 제공하는 일부 사이트가 있지만 코드 변환 후 모든 결함을 수정하는 것은 처음에 혼자서 수행하는 것만큼 시간이 많이 걸립니다.

지금까지 나는 사용하고 있습니다 http://labs.developerfusion.co.uk/convert/csharp-to-vb.aspx

더 좋은 것을 알고 있나요?

도움이 되었습니까?

해결책

좋은 변환기를 찾을 수 없다면 언제든지 C# 코드를 컴파일하고 디스어셈블러를 사용할 수 있습니다. 반사기 Visual Basic 코드를 보려면일부 변수 이름이 변경됩니다.

다른 팁

텔레릭은 좋은 변환기 이는 SharpDevelop을 기반으로 하며 수년 동안 꽤 잘 작동했지만 (SharpDevelop을 기반으로 하기 때문에) 몇 년 동안 업데이트되지 않았습니다.

나는 최근에 roslyn 기반 변환기.얼마나 잘 작동하는지, 얼마나 잘 유지관리되는지는 모르겠지만 오픈 소스이므로 언제든지 포크하고 필요에 따라 업데이트할 수 있습니다.

샤프디벨롭 C#과 VB.NET 간의 변환기가 내장되어 있습니다.완벽한 생각이 아닙니다(예:VB.NET의 선택적 값은 C#에 해당하는 값이 없으므로 변환기 메서드의 서명을 편집해야 합니다. 그러나 웹 페이지가 아닌 IDE 내부에서 모든 작업을 수행하므로 시간을 절약할 수 있습니다(복사). C# 코드, 붙여넣기, 버튼 누르기, VB.NET 코드 복사, IDE에 붙여넣기 :P )

내 생각에 가장 좋은 방법은 손으로 다시 작성할 수 있도록 다른 언어를 충분히 배우는 것입니다. 변환기가 잘 처리할 수 있을지 확신할 수 없는 특정 측면에는 상당히 어려운 차이점이 있습니다.예를 들어, 다음의 C#에서 VB로의 번역을 비교해 보세요.

public class FileSystemEventSubscription : EventSubscription
{
    private FileSystemWatcher fileSystemWatcher;

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

된다

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

C#은 Custom Activity Framework 샘플에서 가져온 것인데 링크가 없어졌습니다.그러나 여기에는 (VB 관점에서) 보기 흉해 보이는 상속이 포함되어 있습니다.

나는 현재 다음 두 가지를 가장 자주 사용합니다.

http://converter.telerik.com/

http://www.carlosag.net/tools/codetranslator/

그러나 다음과 같은 다른 제품에서도 어느 정도 성공을 거두었습니다.

http://converter.atomproject.net/

http://www.dotnetspider.com/convert/Csharp-To-Vb.aspx

http://www.developerfusion.com/tools/convert/csharp-to-vb/

저는 다음과 같은 무료 Visual Studio 2012 플러그인을 사용하고 있습니다. 언어 변환

2010/2012에서는 완벽하게 작동하지만 불행히도 VS 2013에서는 아직 작동하지 않습니다.

변환이 100% 정확하지는 않지만 확실히 매우 도움이 됩니다. 처음 실행하는 것은 약간 까다롭습니다. 아래 이미지를 확인하시기 바랍니다. enter image description here

마지막으로 확인해보니, 샤프디벨롭 하나가 있고 오픈 소스이기도 합니다.

DLL 또는 EXE를 Redgate(이전 Lutz Roeder)에 로드할 수 있습니다. .Net 리플렉터, 방법을 선택한 다음 언어 콤보에서 원하는 언어를 선택하세요.선택한 방법의 코드가 선택한 언어로 표시됩니다.

이게 도움이 되길 바란다.

이것을 시도해 볼 수 있습니다. 변환기.C#에서 VB로, VB에서 C#으로의 기능이 있습니다.

도움이 되었기를 바랍니다.

Carlos Aguilar Mares는 약 40년 동안 온라인 변환기를 사용해 왔습니다. 코드 번역기 하지만 저는 Reflector가 더 나은 대답이라는 데 동의합니다.

귀하의 질문에 답변하지는 않지만, 저도 비슷한 입장에 있었다고 말씀드리겠습니다.

.NET을 처음 시작할 때 C#의 코드 샘플이 어색하다는 것을 깨달았지만 첫 번째 프로젝트를 시작하고 몇 주 후에(.NET 프레임워크와 VB.NET 자체에 더 익숙해진 후) 이것이 C# 코드를 리버스 엔지니어링해야 한다는 것은 흥미롭고 때로는 유익합니다.구문 측면뿐만 아니라 접근 방식의 미묘한 차이점에 대해서도 학습합니다. 이 측면에서 열린 마음을 갖는 것이 유용합니다.

나는 프레임워크에 대해 점점 더 많이 배우면서 VB.NET을 고수하고 있지만 머지않아 '다국어'가 되려는 의도로 C#에 빠져들게 될 것입니다.

현재 저는 CodeProject에서 찾은 VS2005용 플러그인을 사용하고 있습니다(http://www.codeproject.com/KB/cs/Code_convert_add-in.aspx);외부 서비스를 사용합니다(http://www.carlosag.net/Tools/CodeTranslator/) 번역을 수행합니다.

가끔 오프라인일 때 변환기 도구(http://www.kamalpatel.net/ConvertCSharp2VB.aspx).

에 있는 것 http://www.developerfusion.com/tools/convert/csharp-to-vb/ (새 URL)은 이제 .NET 3.5 구문을 지원하며(다시 한 번 #develop 담당자에게 감사드립니다) 결과를 자동으로 클립보드에 복사합니다. :)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top