Как вы выражаете свойство int [] на языке описания интерфейса?
Вопрос
Как бы вы реализовали это свойство в IDL?
public int[] Params
{
get
{
return _Params;
}
set
{
_Params = value;
}
}
Я попробовал код idl ниже
[propget, helpstring("The click through parameters")]
HRESULT Params([out, retval] int *rVal);
[propput, helpstring("The click through parameters")]
HRESULT Params([in] int *RnewVal);
Но мой компилятор ищет это
public int get_Params()
{
throw new NotImplementedException();
}
public void set_Params(ref int rVal)
{
throw new NotImplementedException();
}
Я на 99,999% уверен, что это проблема с типами.
Решение
COM-импортер typelib предпочитает работать с интерфейсами, совместимыми с Automation, поэтому используйте SAFEARRAY
:
[propget, helpstring("The click through parameters")]
HRESULT Params([out, retval] SAFEARRAY(long) *rVal);
[propput, helpstring("The click through parameters")]
HRESULT Params([in] SAFEARRAY(long) RnewVal);
Не связан с StackOverflow