У меня есть метод, который регистрирует данные и получает кучу входных данных, используя ключевое слово params
public static void LogData<T>(params object[] parameter)
{
// log out the data
}
Я хотел бы ограничить ввод строковыми и числовыми типами, и моей первой мыслью было использование предложения where. Очевидная проблема заключается в том, что вы не можете использовать конкретные типы в предложении where, но вы можете обойти это, заметив, что строковые и числовые типы являются IComparable и IConvertible. Я подумал, что это может помочь:
public static void LogData<T>(params T[] parameter)
where T : IComparable, IConvertible
{
// log out the data
}
Это не работает, потому что тогда все входы должны быть одного типа.
Есть ли способ ограничить ввод строковыми и числовыми типами с помощью ключевого слова params или другого синтаксиса?