我有一个通用的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