Zmiana pola danego elementu listy

Zmiana pola danego elementu listy
DamianOS.MP5
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 74
0

Mam taką klasę:

Kopiuj
class UploadMethodAccount
{
	public string _login { get; set; }
	public string _password { get; set; }
	public bool _active { get; set; }

	public UploadMethodAccount(string login, string password, bool active)
	{
		_login = login;
		_password = password;
		_active = active;
	}
}}

W innym miejscu kodu programu stworzyłem listę:

Kopiuj
List<UploadMethodAccount> uploadMethodAccountList = new List<UploadMethodAccount>();

i dodaję do niej elementy:

Kopiuj
uploadMethodAccountList.Add(new UploadMethodAccount(loginLineWithoutL, passwordLineWithoutP, true));

Chciałbym teraz (w zależności od spełnionego warunku) móc zmienić np. pole _login danego elementu listy.

Spróbowałem w ten sposób:

Kopiuj
getUploadMethodEmails()[1]._login = "newLoginForIndex1";

ale po wyświetleniu:

Kopiuj
MessageBox.Show(getUploadMethodEmails()[1]._login);

nadal pozostaje stara wartość. Jak ją zmienić?

MU
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Polska, Wrocław
  • Postów: 26
0

Metoda set() ?

MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
  • Postów: 216
1

Pokaż metodę getUploadMethodEmails(), założę się, że tworzysz tam nową listę i zwracasz za każdym razem nowy obiekt.

DamianOS.MP5
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 74
0
Kopiuj
private List<UploadMethodAccount> getUploadMethodEmails()
{
	List<UploadMethodAccount> uploadMethodAccountList = new List<UploadMethodAccount>();
	using (StreamReader sr = new StreamReader(file))
	{
		string line;
		while ((line = sr.ReadLine()) != null)
		{
			//operacje na pliku
			uploadMethodAccountList.Add(new UploadMethodAccount(loginLineWithoutL, passwordLineWithoutP, true));
		}
	}
	return uploadMethodAccountList;
}
MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
  • Postów: 216
2

Tak jak myślałem. Za każdym razem tworzysz nową listę więc każde wywołanie funkcji getUploadMethodEmails() zwraca Ci początkowe wartości. Wynik tej funkcji musisz zapisać do jakieś zmiennej/pola i dopiero modyfikować tą zmienną/pole.

DamianOS.MP5
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 74
0

nawet mi to do głowy nie przyszło :)
już działa, dzięki za pomoc

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.