Это приведение не может возможно работать, если TResult
не равно object
или string
. Предполагая, что вы на самом деле пытаетесь создать что-то вроде сущности, я бы либо предложил вам передать Func<string, TResult>
или (предпочтительно) использовать LINQ - так что вы не будете нужен этот метод вообще:
var list = File.ReadLines(location)
.Select(line => new SomeEntity(line))
.ToList();
Если вы все еще хотите метод, вы можете использовать:
public static List<TResult> LoadFromFile<TResult>(string location,
Func<string, TResult> selector)
{
return File.ReadLines(location).Select(selector).ToList();
}
... но я не уверен, стоит ли это того. Я полагаю, если вы делаете это много ...
(В примечании, когда вам do необходимо прочитать из файла, вы должны использовать оператор using
, чтобы дескриптор файла закрывался даже в случае возникновения исключения.)