【发布时间】:2010-09-08 18:45:00
【问题描述】:
public class MyClass<T>
{
public T this[int index]
{
get
{
...
}
set
{
...
}
}
public void MyMethod<T>()
{
int middleIndex = ...;
T value = this[middleIndex ];
...
}
}
由于 MyMethod() 中的语句,代码无法编译。还有其他调用索引器的方法吗?
编辑:修改 MyMethod()
Edit2:编译错误
Error 6 Cannot implicitly convert type 'T [C:\MyClass.cs]' to 'T [C:\MyClass.cs]'
谢谢。
【问题讨论】:
-
index在MyMethod中定义在哪里? -
如果我将 MyMethod 替换为“public void MyMethod(int index)”,则示例编译得非常好。
-
您发布的代码看起来不错。你能多发些
MyMethod吗? -
这种不愿编译是否表现在某种编译时错误、计算机崩溃、从天而降的苹果中,您想分享或者您希望我们读懂您的想法?
-
你确定你的班级只有那个 T 吗?有没有机会,T 另一个类或
MyMethod通用?(如MyMethod<T>)