كيف تعبر عن كثافة [] الخاصية في واجهة لغة وصف؟
سؤال
وكيف تنفذ هذه الخاصية في المختبر الدولي للألماس:
public int[] Params
{
get
{
return _Params;
}
set
{
_Params = value;
}
}
وحاولت رمز المختبر الدولي للألماس أدناه
[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 المستورد يفضل التعامل مع واجهات أتمتة متوافقة، وذلك باستخدام 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