我正在接手一个WPF C#团队项目。
其中一个类继承自具有此属性的抽象类:
[Dynamic]
public dynamic this[string key] { get; set; }
我不熟悉这个但我认为它设置了一个索引器属性类对象?
我需要通过向此索引器添加变量来模拟这样的对象。 我该怎么办? 我期待这样的事情:
this.Add(myKey, myValue);
但编译器强烈反对:)
我应该如何将项目添加到此索引器中?
THX
答案 0 :(得分:4)
类上的索引器使实例看起来好像是某种类型的数组,由你想要的任何参数键入,而不仅仅是整数
var existingValue = this["someKey"];
this["someKey"] = newValue;
要实施课程,你可以做这样的事情
public class Mine : ThatAbstractClass
{
Dictionary<string, dynamic> IndexerValues = new Dictionary<string, dynamic>();
public override dynamic this[string key]
{
get { return IndexerValues[key]; }
set { IndexerValues[key] = value; }
}
}