взаимодействие с COM
От: Григорий Поваров Россия  
Дата: 28.09.05 07:42
Оценка:
Привет.

Хочется из JScript'а использовать метод .net-класса, который бы возвращал массив объектов (причем объектов специального типа, а не object).

Написал так:

    public TestResult[] GetArray()
    {
        return new TestResult[] {new TestResult()};
    }


JScript (var ar = new VBArray(test.GetArray()).toArray();) ругается, что invalid typecast.

Если изменить у метода возвращаемое значение с TestResult[] на object[], то все работает, но этот вариант неприемлем.

Если методу добавлять атрибуты
[return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType=VarEnum.VT_VARIANT)]

или
[return: MarshalAs(UnmanagedType.SafeArray, SafeArrayUserDefinedSubType=typeof(TestResult))]

То ничего не меняется.

Как это можно побороть?


Заранее благодарен.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.