这不起作用:
public interface IServerFuncs
{
Table<T> getTable<T>() where T : MasterClass;
//*cut* other stuff here
}
public class DefaultFuncs<T> : IServerFuncs where T : MasterClass
{
Table<T> table;
public DefaultFuncs(Table<T> table)
{
this.table = table;
}
public Table<T> getTable()
{
return table;
}
}
它说DefaultFuncs<T>' does not implement interface member 'IServerFuncs.getTable<T>()'
但我也不能这样做:
public Table<T> getTable<T>() where T:MasterClass
{
return table;
}
它说Error: Cannot implicitly convert type 'MySQLCache.Table<T>
。我猜方法中的 T 会与之发生冲突,DefaultFuncs<T>
所以我尝试了:
public Table<T2> getTable<T2>() where T2:MasterClass
{
return table;
}
但它给出了另一个错误:Error Cannot implicitly convert type 'Table<T>' to 'Table<T2>'
我需要在不向IServerFuncs
( IServerFuncs<T>
) 添加泛型类型的情况下使其正常工作。有什么想法吗?