Как привести COM-объект к исходному интерфейсу?
От: Аноним  
Дата: 18.08.14 16:06
Оценка:
Всем привет!

Есть примерно такой код:
namespace Lib
{
    public interface ITest
    {
        int Add(int x, int y);
    }
}
namespace Test
{
    [ComVisible(true)]
    public class TestCOM : ServicedComponent, ITest
    {
        public int Add(int x, int y)
        {
            return (x + y);
        }
    }
}

Lib и Test — разные dll.
Регистрируем COM-объект, смотрим его test.tlb через "Ole/COM Object Explorer".
Все методы интерфейсов, унаследованных в ServicedComponent, видны (и доступны), а мой метод Add из ITest — нет.
Почему это происходит и как это побороть?
Спасибо...
Re: Как привести COM-объект к исходному интерфейсу?
От: TK Лес кывт.рф
Дата: 19.08.14 05:58
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Все методы интерфейсов, унаследованных в ServicedComponent, видны (и доступны), а мой метод Add из ITest — нет.

А>Почему это происходит и как это побороть?

Имортируйте любую tlb через tlbimp — по полученной сборке можно будет посмотреть каких атрибутов и где не хватает.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.