Чтобы передать параметр методу по ссылке, вы можете использовать ключевое слово ref
. Так что вы можете сделать что-то вроде этого:
void Method1(Class1 obj1, Class2 obj2, ref Class3 obj3)
{
obj3 = new Class3();
// set the fields of obj3 based on values of obj1 and obj2
}
Method1(obj1, obj2, ref obj3);
Что касается «изменения полей в структуре данных с помощью индексов, таких как массив», вы можете передать эти индексы в качестве дополнительных параметров, если это необходимо. Мне бы хотелось узнать немного больше о том, что вы делаете, чтобы ответить на этот вопрос.
Обратите внимание, что в приведенном выше примере единственная причина для передачи obj3 по ссылке - это то, что метод создает экземпляр объекта. Если объект уже создан, то передача по ссылке не требуется.