从VB.net代码调用C#代码

Nig*_*ker 0 .net c# vb.net

这是我在某些Dll中的c#代码

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Win32;


namespace LP_Misc
{
    public class LP_Registery
    {
        LP_Registery()
        {
            ReadMyTestRegKey();
        }
        public void ReadMyTestRegKey()
        {

            RegistryKey regkey;/* new Microsoft.Win32 Registry Key */

            regkey = Registry.CurrentUser.OpenSubKey(@"Software\PCBMatrix\LPWizard\experimental");


            string[] valnames = regkey.GetValueNames();

            string val0 = (string)regkey.GetValue(valnames[0]);

            Console.Write("--------------------------------The {0} val is {1}", valnames[0], val0);

        }

    }
}
Run Code Online (Sandbox Code Playgroud)

我试图从另一个DLL中的某些vb代码调用它.

像这样

Imports LP_Misc
.
.
.
Dim T As LP_Registery()
Run Code Online (Sandbox Code Playgroud)

我没有得到任何错误,但它没有进入C#代码.它只是跳过它然后翻过来.

任何的想法 ?

Rya*_*ndy 7

您没有实例化您的对象.你需要这个:

Dim T As New LP_Registery()
Run Code Online (Sandbox Code Playgroud)

但是,您的构造函数是私有的,因此也不起作用.你需要在你的对象中:

public LP_Registery()
{
    ReadMyTestRegKey();
}
Run Code Online (Sandbox Code Playgroud)