Если я правильно понимаю, ваша задача - поделиться экземпляром myArgus
между тремя (или более) формами.
Но есть по крайней мере несколько разных способов сделать это. Вы можете передавать это между формами (например, как параметр конструктора), вы можете передавать экземпляр одной формы другой, вы можете иметь отдельный класс для хранения общего (статического) экземпляра myArgus
.
В вашем коде есть другие мелкие проблемы. Например, вам не обязательно передавать списки по ref
, поскольку вы не изменяете саму ссылку, а скорее содержимое своих списков.
Тогда это выглядит ужасно:
myArgus.Add(new Branch());
myArgus[branchCounter]._branchID = Convert.ToInt32(reader.ReadLine());
myArgus[branchCounter]._branchName = reader.ReadLine();
...
пока вы действительно имеете в виду:
Branch newBranch = new Branch();
newBranch._branchID = ...;
newBranch._branchName = ...;
myArgus.Add( newBranch );
Затем, когда метод должен вернуть данные (readDataFile
), я думаю, что все ожидают, что подпись будет:
public List<Branch> readDataFile()
вместо
public void readDataFile(ref List<Branch> myArgus)