Я пытаюсь преобразовать string[]
в более общий c тип. Ответ, вероятно, прост, но я не могу понять его сейчас.
Моя проблема в том, что у меня есть метод genericMethod()
, который принимает запрос SQL в качестве первого параметра, поэтому он будет выглядеть например: genericMethod(string)
.
Но запрос SQL принимает и некоторые параметры, и это зависит от того, как мне нужно использовать запрос SQL.
Может выглядеть один запрос как это:
genericMethod($@"
SELECT [CustomerId], COUNT (*) , MAX (OrderDate) FROM [MyTable]
WHERE [ProductType] = @0
AND ([OrderDate] > DATEADD(DAY, -@1, GETUTCDATE()))"
, productType, myChosenDate);
Это означает, что массив-параметр состоит из строки и целого.
Но в другой ситуации это будет выглядеть примерно так:
genericMethod($@"
SELECT [CustomerId], COUNT (*) , MAX (OrderDate) FROM [MyTable]
WHERE ([OrderDate] > DATEADD(DAY, -@1, GETUTCDATE()))"
, myChosenDate);
Это означает, что массив-параметр состоит только из целого числа.
И, в-третьих, параметры будут строковыми (для запроса), а затем от 1 до N строковых параметров для запроса, который я использую. прямо сейчас.
Пример третьего использования:
genericMethod($@"
SELECT [CustomerId], COUNT (*) , MAX (OrderDate) FROM [MyTable]
WHERE [ProductType] = @0
WHERE [Manufacturer] = @1
AND ([OrderDate] > DATEADD(DAY, -7, GETUTCDATE()))"
, productType, manufacturer);
Надежда, которая имеет смысл.
Способ, который я до сих пор решил, - это использование genericMethod(string, string[] params)
, но, как вы можете видеть, я хочу, чтобы последний параметр был более обобщенным c, чтобы массив мог Список строк и int, а не только строк.
Возможно ли это?