Ссылка на Параметр универсального типа

#c# #dapper

#c# #щеголеватый

Вопрос:

Я хочу привести динамический результат в dto, имя которого известно только во время выполнения. Например.

 public class Dog {  public int? Age { get; set; }  public Guid Id { get; set; }  public string Name { get; set; }  public float? Weight { get; set; } }  string dtoName = "Dog"  

Поэтому вместо того, чтобы, например, делать :

 var dog = connection.Querylt;Doggt;("select Age = @Age, Id = @Id", new { Age = (int?)null, Id = guid });  

Я хочу использовать

 var dog = connection.Querylt;dtoNamegt;("select * from "   dtoName);  

Обратите внимание, что это очень поверхностный пример для демонстрации идеи. Я не хочу использовать отражение и т. Д., Но просто хочу получить ссылку на Dog по имени строки для передачи.

Комментарии:

1. Вы не можете этого сделать, потому dog что во время компиляции должен быть известен тип. Обычно, когда люди просят об этом, они еще не совсем продумали, как предполагается использовать результат-как вы предлагаете объявить результат и как потребляющий код будет знать о типе? Вы можете динамически вызывать универсальные методы ( .MakeGenericMethod ), но сам результат будет использоваться только динамически.

2. Даже если бы вы могли это сделать, как вы собираетесь использовать результат?

3. По сути, я хочу отобразить результаты динамического sql в dto, имя которого известно во время выполнения запроса.

4. Я хочу использовать его динамически

5. Определите » динамически »