在c#中你可以像这样创建一个自定义索引器
public object this[string name]
{
}
我正在使用一个javascript小部件库,它有一个小部件,它将一个对象的aray作为一个叫做标签的属性,如此
new Thingy({
labels: [{value:1, text:"my label"},[{value:2, text:"my next label"}]
});
问题在于您必须提前计划以确切知道需要标签的所有值是什么。例如,在上面的示例中,我知道标签将用于值1和2.但是如果我不知道值可能是什么,我希望能够根据值动态创建文本试图访问
所以当库内部尝试访问时:
this.labels[n].text
我想this.labels [n]做类似
的事情function(n){return {text: "label for " + n};}
这可能在javascript语言的范围内吗?
答案 0 :(得分:1)
您可以在最新的Chrome中获得es6 proxies并编写C#中的处理程序,但它与旧版浏览器不兼容。
与此同时,我建议在getLabel()
上添加Thingy.prototype
方法。