StreamWrite.Write
超載爲Int16
,Int32
,Int64
,Double
,Single
,String
等等。使用泛型類型調用重載函數
爲什麼我需要使用動態?當調用WriteList
方法時,編譯器知道它要求爲Int32
,String
,...。
那麼爲什麼我不能使用e(類型T = Int32)直接在StreamWrite.Write
?
public void WriteList<T>(List<T> list)
{
int count = list.Count();
StreamWriter.Write(count);
foreach(T e in list)
{
dynamic d = e;
StreamWriter.Write(d);
}
}
請參閱:[有什麼區別,第一部分:泛型不是模板](http://blogs.msdn.com/b/ericlippert/archive/2009/07/30/generics-are-not-templates.aspx ) – Ani