Odwołanie do funkcji poprzez referencje?

Odpowiedz Nowy wątek
2019-08-13 09:12
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ć?

Pozostało 580 znaków

2019-08-13 09:55
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.

Pozostało 580 znaków

2019-08-13 09:58
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

edytowany 1x, ostatnio: Michał Parzych, 2019-08-13 09:59

Pozostało 580 znaków

2019-08-13 10:17
0

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

Pozostało 580 znaków

2019-08-13 10:47
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 ))
                )
            );

Pozostało 580 znaków

2019-08-13 10:52
0

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

Pozostało 580 znaków

2019-08-13 11: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'

Pozostało 580 znaków

2019-08-13 11:54

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.

Pozostało 580 znaków

2019-08-13 12:00
1

Chwała Ci za to zbawco.

Dziękuje.
Temat do zamknięcia.

Zamykamy i usuwamy! - szweszwe 2019-08-13 12:30
Jak uzyskałeś pomoc to klikasz okejke i kciuka przy poście który Ci pomogł. - kzkzg 2019-08-13 15:52

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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