C#写的dll跨语言调用

本文介绍了如何在Delphi和VB中调用C#编写的非标准Windows DLL。首先,通过设置C#项目的Com可见性和生成TLB文件,然后在Delphi中使用Import Type Library导入并创建调用代码。在VB中,通过引用TLB文件并利用CreateObject方法实现调用。虽然两种方法调用效果相同,但在Delphi中使用TLB方式能看到接口,而OLE方式更简洁。
摘要由CSDN通过智能技术生成

C#写的dll为非标准的windows下dll,故一般其他语言不能直接调用,当然基于.net平台下的编程语言是可以调用,要让其他语言调用C#写的dll一般通过webservice服务或者是Com方式。经过在网上找资料以及自身的实践发现可以通过以下方式在Delphi和VB语言中调用。

1.编写C#写dll,用VS新建一个类库项目TestDll,源码如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace TestDll
{
    /*
    1。所要导出的类必须为公有;
    2。所有属性、方法也必须为公有;
    3。要导出的属性、方法必须用接口方式;如果没有在接口中声明,即使该方法(属性)为公有,也不能正常导出到COM。但他们可以被别的.NET程序所使用;
    4。所有的事件也必须用接口方式;
    */

    public interface ITestClass
    {
        int Get(int a);
        string Get

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值