Odwołanie do funkcji poprzez referencje?

Odwołanie do funkcji poprzez referencje?
MP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 29
0

Witam,

Mam przycisk w XAML przycisk

odwołuje się w pliku .cs

Kopiuj
        private void przycisk_button_click(object sender, RoutedEventArgs e)
        {
         zmienna1 = przycisk.Text;
        }

mam dwie zmienne

Kopiuj
      static string zmienna1 ="cos";

i później zapisuje zmienna1 do pliku .xml
i zostaje "coś", nie jest ona nadpisana, jak mogę zrobić by się do niej odwołać, by ją nadpisać?

Sarrus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2512
0

No to jeżeli masz dwie zmienne to zapewne w pierwszym przykładzie przypisujesz wartość do pierwszej, a wartość drugiej ("coś") wpisujesz do pliku. Tyle można powiedzieć na podstawie przedstawionego przez Ciebie kodu.

MP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 29
0

Błąd u góry, nie mogę już edytować. jedna zmienna jest, to jest ta sama.

Przypisuje do niej wartość z przycisk.Text

a później zapisując ją do pliku, nie trzyma tej wartości, tylko przechowuje początkową

edit: ta "zmienna" to pole w klasie ogólnej

Sarrus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2512
0

Ustaw breakpoint w tej funkcji (F9) i odpal (F5). Zobacz co tobie wpisuje do zmiennej.

MP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 29
0

Wpisuje mi dokładnie tą wartość, którą chciałem by wpisało.
Funkcje zapisu mam też w tej metodzie

Kopiuj
        private void przycisk_button_click(object sender, RoutedEventArgs e)
        {
         zmienna1 = przycisk.Text;
         nazwa_pliku_do_zapisu_xml.Save(ścieżka_pliku_do_zapisu);
        }


        static string zmienna1 ="cos";

XDocument nazwa_pliku_do_zapisu_xml= new XDocument(
            new XComment("document"),
            new XElement("root",
                new XElement("nazwa", new XAttribute ("nazwa2", zmienna1 ))
                )
            );
Sarrus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2512
0

A sprawdzałeś zawartość zmiennej debuggerem przy zapisie? Może zły plik sprawdzasz?

MP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 29
0

Dobry element sprawdzam.
Tu chodzi prawdopodobnie o to, że przy deklaracji zmiennej jest podana wartość "coś" i wychodząc z tej metody i pole dalej ustawia się na "coś".

ponieważ używając:
new XElement("nazwa", new XAttribute ("nazwa2", zmienna1 )

przy:(uwaga:static, zmienna musi byc statyczna dla XAtrribute)
static string zmienna1 = null:

wyskakuje mi komunikat:
System.ArgumentNullException: 'Wartość nie może być zerowa.
Nazwa parametru: value'

KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 41
1

Przenieś ten kod:

Kopiuj
XDocument nazwa_pliku_do_zapisu_xml= new XDocument(
            new XComment("document"),
            new XElement("root",
                new XElement("nazwa", new XAttribute ("nazwa2", zmienna1 ))
                )
            );

do funkcji.

MP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 29
1

Chwała Ci za to zbawco.

Dziękuje.
Temat do zamknięcia.

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.