Чтобы представить ваш метод .NET для COM, вам нужно создать интерфейс:
[Guid("CF4CDE18-8EBD-4e6a-94B4-6D5BC0D7F5DE")]
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
[ComVisible(true)]
public interface IFoo {
[DispId(1)]
string MyMethod(string value);
}
Ваш класс будет производным от интерфейса:
[Guid("7EBD9126-334C-4893-B832-706E7F92B525")]
[ClassInterface(ClassInterfaceType.None)]
[ComVisible(true)]
[ProgId("MyNamespace.Foo")]
public class Foo: IFoo {
public string MyMethod(string value){
return somestring;
}
}
Из VB6,Ваш звонок будет выглядеть примерно так:
Dim oFoo as New Foo
dim sReturn as string
sReturn = oFoo.MyMethod("someValue")