我正在尝试在Visual Studio 2012中的c#的COM库中使用命名索引器。
签名是:
public virtual dynamic this[ref BTCALL_Ver12.StkGroupT_Fields New_Field, [ref short ArrPos1 = 0], [ref short ArrPos2 = 0]] { set; get; }
Member of BTCALL_Ver12.StkGroupTClass
当我使用这种语法时:
BTCALL_Ver12.StkGroupT sg = new BTCALL_Ver12.StkGroupT();
dynamic y = sg[BTCALL_Ver12.StkGroupT_Fields.SGDesc];
我收到如下错误消息:
错误1语言不支持属性,索引器或事件'BTCALL_Ver12._StkGroupT.this [ref BTCALL_Ver12.StkGroupT_Fields,ref short,ref short]';尝试直接调用访问器方法'BTCALL_Ver12._StkGroupT.get_Field(ref BTCALL_Ver12.StkGroupT_Fields,ref short,ref short)'或'BTCALL_Ver12._StkGroupT.set_Field(ref BTCALL_Ver12.StkGroupT_Fields,ref short,ref short,ref object)'C:\ Users \ Alex \ dev \ WindowsFormsApplication2 \ WindowsFormsApplication2 \ Form1.cs 49 25 PastelSDK
我尝试使用错误消息建议的格式get_this()但没有成功。有什么想法吗?