Маршал универсальные типы возврата для взаимодействия - PullRequest
2 голосов
/ 08 апреля 2010

Возможно ли маршалировать универсальный тип возврата как неуниверсальный для взаимодействия COM?

Допустим, у меня есть следующий класс:

[ComVisible(true)]
public class Foo
{
    public IEnumerable<string> GetStr() // Generic return type
    {
        yield break;
    }
}

Я знаю, что IEnumerable реализует IEnumerable.

Могу ли я заставить tlbexp.exe (через атрибут return: или другим способом) выставить метод GetStr () как метод, возвращающий IEnumerable?

1 Ответ

0 голосов
/ 08 апреля 2010

Не думаю, что это возможно, нет.Когда вы устанавливаете ограничения с помощью COM-взаимодействия, обычно лучше создать отдельный тип оболочки с COM-дружественным интерфейсом и оставить исходный тип максимально дружественным к .NET.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...