It does not make much sense. The concepts are too much different. Even the "volume of the scope" of this technologies are different: .NET is very much self-contained and reach, and VB6 is… forget it :-). I would rather call it "anti-technology". :-)
However, in principle, you could try something. First, try to migrate from VB6 to VB.NET. See for example, this CodeProject article:
Upgrading VB6 to VB.NET[
^].
As soon as you have more or less adequate results (which is a very questionable problem), you can further formally translate VB.NET to C#. This step will create no problems at all and can be done fully automatically. Please see my past answers:
COde Line Interpretatio of C# to VB.NET[
^],
Need to convert vb code to c#[
^],
FixedPage to ContentPage convert c# code into vb.net[
^],
Source Code from a exe[
^].
I would specially emphasize that very comprehensive high-quality off-line translation method based on the use of open-source ILSpy, please see the answers referenced above.
However, I would hardly advice to go for it, but it might worth trying. The first step (VB6 to VB.NET) would be a great problem, not anything else. In most cases, you would be better off by creating a project from scratch, based on good .NET knowledge. You VB6 code would be then used only as a reference. Also, you would have a chance to avoid reproducing the old bugs.
—SA