Dapper Метод с использованием дженериков - PullRequest
0 голосов
/ 18 мая 2018

Я пытаюсь создать общий метод read 'read'. Я хочу передать возвращаемый тип в качестве параметра методу. Я не знаком с обобщениями, но у меня есть идея, что это можно сделать с помощью обобщений.Я думаю, что это будет выглядеть примерно так?

public static T ListReader<T>(string SQL, ref T returnType, string DbName = "TEST")
{
    using (IDbConnection cmd = new SqlConnection(ConfigurationManager.ConnectionStrings[DbName].ConnectionString))
    {
        return cmd.Query<returnType>(SQL).ToList();
    }
}

1 Ответ

0 голосов
/ 18 мая 2018

Вы смешиваете дженерики, которые должны быть известны во время компиляции, с объектами.

Удалите это returnType, которое не добавляет ничего полезного, и исправьте тип возвращаемого значения:

public static IEnumerable<T> ListReader<T>(string SQL, string DbName = "TEST")
{
    using (IDbConnection cmd = new SqlConnection(ConfigurationManager.ConnectionStrings[DbName].ConnectionString))
    {
        return cmd.Query<T>(SQL).ToList();
    }
}
...