继承ArrayList类,实现 this[int index]时的一个问题 顶者有分
我定义了一个继承ArrayList的类,部分代码如下:
public class Items
{
public override object this[int index]
{
get
{
return base[index];
}
set
{
base[index] = value;
}
}
.....
.....
}
其中重载了 this这个属性,但我想把它改成下面的样子,以方便调用
public MyClass this[int index],
因为如果是 object 的话,调用时就需要这样写 MyClass m =(MyClass)it[0];
我想实现 MyClass m = it[0];
可我改成public MyClass this[int index] 后在编译时就报了错,错误如下:
Cannot implicitly convert type 'object ' to 'WindowsApplication1.MyClass '. An explicit conversion exists (are you missing a cast?)
要实现这个目标 我该怎么弄? 谢谢!!
------解决方案--------------------顶者有分就顶呗。。
------解决方案--------------------我有个类似的
class DictionaryTest:DictionaryBase
{
public DictionaryTest()
{
}
public void Add(string DictionaryID, string Value)
{
Dictionary.Add(DictionaryID, Value);
}
public void Remove(string DictionaryID)
{
Dictionary.Remove(DictionaryID);
}
public DictionaryTest this[string DictionaryID]
{
get
{
return (DictionaryTest)Dictionary[DictionaryID];
}
set
{
Dictionary[DictionaryID] = value;
}
}
}
------解决方案--------------------为什么不用泛型?
------解决方案--------------------顶 哈哈
------解决方案--------------------不是很懂,帮你顶一下