搜索
您的当前位置:首页C#.net中调用VB.net编写的dll示倒

C#.net中调用VB.net编写的dll示倒

时间:2020-07-20 来源:乌哈旅游
C#.net中调⽤VB.net编写的dll⽰倒

经过⽹上查,发现两者的dll应该能共⽤的,就试了⼀下,好⼀会⼉才成功,不多说,直接上⽰例。IDE为vs2008。VB.net中编写类库,设置项⽬名称(同时默认为解决⽅案名称)后开始编写,代码如下:Namespace test1 Public Class Cls1

Public Function plus(ByVal a As Double, ByVal b As Double) AsDouble

plus = a + b * 2 End Function End ClassEnd Namespace

之后发布,发布之前记得在项⽬属性中确认⼀下根命名空间,如下图,发布后形成dll⽂件。之后,新建C#的项⽬,windows应⽤程序,添加引⽤,如下图所⽰,然后写代码。代码如下:

using System;

using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;

using System.Windows.Forms;using vbTestDll.test1;

namespace cccc_use_vb_dll {

public partial class Form1 : Form {

public Form1() {

InitializeComponent(); }

Cls1 cc =new Cls1();

private void button1_Click(object sender, EventArgs e) {

double a1 = Convert.ToDouble(textBox2.Text); double a2 = Convert.ToDouble(textBox3.Text); double a=cc.plus(a1,a2); textBox1.Text =a.ToString (); } } }

运⾏,成功,如下图所⽰,数据输⼊后也OK。要点说明如下:

1)在编写VB类库时,⽤namespace包起来;

2)确认VB类库项⽬属性中的根命名空间,默认其与项⽬名称是⼀致,当然也可在项⽬属性中更改;

3)在C#编写时,先添加引⽤,然后使⽤using语句引⼊VB的dll⽂件的命名空间,此命名空间记得先写上根命名空间,即本例中的usingvbTestDll.test1⽽⾮using test1;

4)已经过测试,按上述步骤应⽤dll⽂件后,如果dll源代码内容有变化,重新⽣成后,到C#项⽬后直接启动调试即可接受此变化,⽆需重新引⽤。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top