C# COM与命名索引器的互操作

C# COM与命名索引器的互操作,c#,visual-studio-2010,com,interop,indexer,C#,Visual Studio 2010,Com,Interop,Indexer,我试图在VisualStudio2012的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.StkGroup

我试图在VisualStudio2012的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\u Ver12.\u StkGroupT”。该语言不支持此[ref BTCALL\u Ver12.StkGroupT\u字段,ref short,ref short];尝试直接调用访问器方法“BTCALL\u Ver12.\u StkGroupT.get\u字段(ref BTCALL\u Ver12.StkGroupT\u字段,ref short,ref short)”或“BTCALL\u Ver12.\u StkGroupT.set\u字段(ref BTCALL\u Ver12.StkGroupT\u字段,ref short,ref short,ref object)”C:\Users\Alex\dev\WindowsFormsApplication2\windowsform1.cs 49 25 PastelSDK


我尝试使用错误消息建议的格式get_this(),但没有成功。有什么想法吗?

它建议您使用get_Field(),为什么您要尝试获取此()?因为我是个白痴!非常感谢你。FWIW我在John Skeets的书中看到了这一点:同义词信息同义词信息[string Word,ref object LanguageId=Type.Missing],然后是app.get_同义词信息(“痛苦”,ref Missing),所以我假设“Field”是一个类似“同义词信息”的占位符。所以还有一些东西我还没有得到,但我会读一些书。对不起,那当然是乔恩·斯基特。