因此,我在vb6中的知识非常有限,但由于这是旧代码,因此对此是必需的。
我创建了一个dll,在c#中带有一个对象(字符串类)。
在vb6中利用此功能的最佳方法是什么?有没有一种方法可以将其公开为接口,或在vb6中创建对象以进行匹配?
我已经搜索了MSDN,但是有关该主题的内容非常有限,似乎不是一个常见问题。
通常,我通过接口公开所有内容,但是诸如:
class myClass (string x, string y, string z);
不起作用(界面不能包含字段)。
我也尝试过
myClass(string x, string y, string z);
我得到一个错误方法的方法必须具有返回类型。
最近我尝试过
myClass iClass(string x, string y, string z);
返回a的未实现接口成员。
myClass
public string x {get;set;}
public string y {get;set;}
public string z {get;set;}
我无法通过搜索找到任何措辞准确的问题(也许我的措辞在标题中不正确,因为我的vb6知识还是最少的)。
所有引用的代码均来自c#dll。
答案 0 :(得分:0)
您可以为您的类提供一个COM可调用的包装器,VB6可以与该包装器进行互操作。
这是您的类,其中包含可从VB6调用的COM调用包装器:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
namespace CCW
{
[ClassInterface(ClassInterfaceType.AutoDual)]
[ComVisible(true)]
public class myClass
{
public string x { get; set; }
public string y { get; set; }
public string z { get; set; }
}
}