日期:2014-05-17  浏览次数:21075 次

非泛型接口中的泛型方法如何实现
接口定义:  
public interface IPerson
  {
  bool Insert<T>(T info);  
  }
如何实现:
 public class Person:IPerson
  {
  bool Insert<PersonInfo>(PersonInfo info); //??????????????? 如题,请问如何实现  
  }

public class PersonInfo
{
string Name{get;set;}
}

------解决方案--------------------
只要能定义,当然可以实现,这话没有说错。

问题是你定义的是bool Insert<T>(T info);
你实现的时候也必须是bool Insert<T>(T info)。而不能是bool Insert<PersonInfo>(PersonInfo info)。
------解决方案--------------------
你这完全是诡辩。

按照你的逻辑,我还纳闷为什么这个代码不能实现呢:
interface IMyInterface
{
void foo(int x);
}
class MyClass : IMyInterface
{
public void foo(string x) { ... }
}