我正在使用以其他语言创建的COM API,我正在使用C#访问它。我正在尝试实现其中一个接口,但我在VS中看到一个错误:
'MyClass'没有实现接口成员'InterfaceName.MemberName [object] .set'。“。
我一直在搜索,并了解了索引器属性(我认为这是)。但是,我仍然无法弄清楚如何实现这个接口成员。
我拼凑在一起的代码看起来像这样
private string[] membername= new string[10];
[System.Runtime.CompilerServices.IndexerName("MemberName")]
public string this[object index]
{
get
{
return membername[(int)index];
}
set
{
membername[(int)index] = value;
}
}
但这似乎不起作用。
非常感谢任何帮助。
在我正在使用的文档中,这是给出的示例。
Public Property MemberName( _
ByVal Index As Variant _
) As String
答案 0 :(得分:0)
事实证明,在这种情况下,你不能使用{ get; set; }
的句法糖。实际上,您必须为索引属性的get和set创建基础方法。
工作代码看起来像这样......
private string[] MemberName = new string[10];
public string get_MemberName(object Index)
{
return MemberName[(int)Index];
}
public void set_MemberName(object Index, string Value)
{
MemberName[(int)Index] = Value;
}