Odwołanie do funkcji poprzez referencje?

0

Witam,

Mam przycisk w XAML przycisk

odwołuje się w pliku .cs

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

mam dwie zmienne

      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ć?

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.

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

0

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

0

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

        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 ))
                )
            );
0

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

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'

1

Przenieś ten kod:

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

do funkcji.

1

Chwała Ci za to zbawco.

Dziękuje.
Temat do zamknięcia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1