У меня есть сборка, которая предоставляет интерфейс com:
[ComVisible(true)]
[Guid("C92A5F13-088F-4776-A967-42A60EFAFC29")]
public interface ITestInterface
{
byte[] AddItem(string label, byte[] array);
}
И реализация:
[ComVisible(true)]
[Guid("C35C9235-3377-44A7-AC9E-7FCC24EF71D0")]
public class Test : ITestInterface
{
public byte[] AddItem(string label, byte[] array)
{
return null;//irrelevant
}
}
Этот ком опубликован в манифесте сборки.
Сейчас на стороне клиента (. net) у меня есть интерфейс:
public interface ITestInterface
{
byte[] AddItem(string label, byte[] array);
}
и я пытаюсь его активировать:
Type adapter = Type.GetTypeFromProgID("Test.Test");
object adapterObj = Activator.CreateInstance(adapter);
ITestInterface myClassAdapter = (ITestInterface)adapterObj;
В последней строке я получаю исключение:
System.InvalidCastException: 'Unable to cast object of type 'Test.Test' to type 'Test.ITest'.'
Что не так с моим "клиентским" интерфейсом. Что я должен изменить?