我有實現了一些接口類:是否有可能使這種方法一般
public interface IMyInterface
{
string GetKey();
void SetData(List<int> data);
}
public class A : IMyInterface { .. }
public class B : IMyInterface { .. }
我有一種方法,它獲取這個類的集合,使同樣的事情:
public void methodA(List<A> items)
{
foreach(var item in items)
{
// do something with A.GetKey();
// do something with A.SetData();
}
}
public void methodB(List<B> items)
{
foreach(var item in items)
{
// do something with B.GetKey();
// do something with B.SetData();
}
}
我想使這個方法一般:
public GenericMethod<T>(T items) where T: IEnumerable
{
for(var item in items)
{
// how can I get the item.GetKey();
}
}
我怎麼能說編譯器的T的要素: umerable實現IMyInterface並擁有方法GetKey()?
感謝。特別是最後的評論。 – demas 2015-04-03 05:14:23