索引器的获取器和二传器的不同类型
本文关键字:同类型 获取 索引 | 更新日期: 2023-09-27 18:31:08
我想要一个索引器,但二传手和getter的类型应该不同。
public Foo this[string key]
{
get
{
return FindFoo(key);
}
}
public Bar this[string key]
{
set
{
DoMagic(key, value);
}
}
当我尝试时:
myClass["hello"] = coolBar;
它说:电话是模棱两可的
有没有办法这样做?
我想要一个索引器,但二传手和吸气手的类型应该不同。
基本上,你不能这样做 - 当两个索引器具有相同的签名时,则不能这样做。
即使你可以,我也会说这将是一个非常奇怪的设计,这会让你的API用户感到惊讶。
C# 规范的相关位是第 10.9 节:
索引器的签名必须与同一类中声明的所有其他索引器的签名不同。