C#中一个类可以定义多个参数为int的索引器吗?
C#中一个类可以定义多个参数为int的索引器吗?如果可以那么在main中如何调用,还有继承的话在子类里面还能继续定义其他的同参数的索引器吗...
C#中一个类可以定义多个参数为int的索引器吗?如果可以那么在main中如何调用,还有继承的话在子类里面还能继续定义其他的同参数的索引器吗
展开
1个回答
展开全部
应该不行,因为定义索引要用this。如果非要这样做,你就要考虑类结构的设计问题了,比如定义多个类然后包装一下;问题2:子类可以继承,但是父类的this[]需要加‘virtual’关键字。
如下:
public interface ISomeInterface
{
// Indexer declaration:
string this[int index]
{
get;
set;
}
}
class X : ISomeInterface
{
public virtual string this[int index]
{
get
{
return "X";
}
set
{
throw new NotImplementedException();
}
}
}
class Y : X
{
public override string this[int index]
{
get
{
return "Y";
}
set
{
throw new NotImplementedException();
}
}
}
如下:
public interface ISomeInterface
{
// Indexer declaration:
string this[int index]
{
get;
set;
}
}
class X : ISomeInterface
{
public virtual string this[int index]
{
get
{
return "X";
}
set
{
throw new NotImplementedException();
}
}
}
class Y : X
{
public override string this[int index]
{
get
{
return "Y";
}
set
{
throw new NotImplementedException();
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询