我有一個通用的Print
方法遍歷一個列表,並簡單地打印每個項目的文件名您在哪裏指定泛型類型?
private static void Print<T>(
Func<IEnumerable<T>> getFiles, Func<T, string> getFileName)
where T : class
{
foreach (T file in getFiles())
{
var fileName = getFileName(file);
Console.WriteLine("File Name: {0}", fileName);
}
}
對於方法知道的T
類型是我可以用兩種不同的方式
Print<FileInfo>(FileFinder.GetFiles, fileInfo => fileInfo.FullName);
調用
Print
- 或 -
Print(FileFinder.GetFiles, (FileInfo fileInfo) => fileInfo.FullName);
這將是一個正確方式請撥打Print
方法?
顯式指定泛型還是讓編譯器推斷它?
完成:繼續... – Sung 2009-04-25 19:21:38