Я хотел бы иметь функцию, которая изменяет некоторый список переменных параметров, но все они являются типами значений (int, string). Есть ли способ заставить ключевое слово params работать с ключевым словом ref или чем-то подобным?
public void funcParams(params object[] list)
{
/* Make something here to change 'a', 'b' and 'c' */
}
public void testParams()
{
int a = 1, b = 2, c = 3;
funcParams(a, b, c);
}
Проблема в том, что я пытаюсь упростить свою жизнь, создав метод, который модифицирует поля объекта. Я делаю динамическую генерацию кода с использованием Cecil и стараюсь не писать слишком много кода, сгенерированного IL.
Для упрощения я хотел бы передать список полей по ссылке. Мне нужно перейти к функции, которая изменяет их, а не изменяет их путем генерации соответствующего IL. Некоторые параметры обнуляются и делают генерацию кода немного более болезненной. Создание некоторых методов перегрузки вместо params в этом случае не очень поможет.