Следующий код дает мне InvalidCastException
, в котором говорится, что я не могу отличить от источника к типу foreach
. Я попытался передать несколько разных общих коллекций с помощью метода, и я всегда получаю эту ошибку. Я не могу понять, почему. Любая помощь будет оценена по достоинству.InvalidCastException при генерации типичного типа
public static void WriteDataListToFile<T>(T dataList, string folderPath, string fileName) where T : IEnumerable, ICollection
{
//Check to see if file already exists
if(!File.Exists(folderPath + fileName))
{
//if not, create it
File.Create(folderPath + fileName);
}
using(StreamWriter sw = new StreamWriter(folderPath + fileName))
{
foreach(T type in dataList)
{
sw.WriteLine(type.ToString());
}
}
}
Я очень подавлен вы не получаете некоторые другие исключения. 'File.Create (folderPath + имя_файла);' неправильно, вы открываете 'FileStream' и не закрываете его. 'StreamWriter' создаст файл, если он не существует, удалите верхний проверочный код. –