Jak użyć tą samą zmienną w dwóch projektach jednej solucji.

0

C# jest dla mnie nowością więc proszę o pomoc.

W jednej solucji mam dwa projekty A i B. Jak użyć tą samą zmienną x w obu projektach?
Projekt B zawiera referencje do A, ale w A nie widać zmiennej x zdeklarowanej w B.
VS2010 C#, Windows Form Aplication. Siedzę już na tym problemem kilka dni i nie mogę załapać o co chodzi.

0

publiczna zmienna V w publicznej klasie C projektu A, tworzysz w projekcie B obiekt klasy C. teraz żeby z projektu A odwołać się do zmiennej z projektu A stworzonej w projekcie B itp itd, więc ostatecznie w którejś klasie któregoś projektu ta "rekurencja" musi się skończyć, obiekt klasy-kontenera widoczny w jednym projekcie nie będzie widoczny w drugim. i bardzo dobrze, bo wykonywanie kodu zaczyna się z jednego miejsca, a nie z dwóch, i gdzieś jest centrum spinające wszystkie kawałki kodu. zakręcone to rozwiązanie i żeby je dobrze zaimplementować potrzeba najwięcej doświadczenia, ale moim zdaniem jest to najlepsza idea.

możesz też stworzyć projekt C, który będzie pobierał referencję do zmiennej V z projektu A i przekazywał ją do którejś z obiektów klas projektu B.

ewentualnie tworzysz publiczną statyczną zmienną V w klasie C projektu A, w projekcie B odwołasz się namespaceC.C.V. trochę mądrzej zrobione sprowadza się do wzorca Singleton.

0

Bez wnikania w zasadność ;-) takiej zmiennej.

Skoro tak musisz...
to chyba najlepszym wyjściem byłoby stworzenie projektu C a w nim zmiennej która byłaby widoczna w A i B

0

Dziwny pomysł.
Widoczny może być typ, ale zmienna?
Co by miało to oznaczać?

0

To może inaczej postawię pytanie. W projekcie A mam zmienną "ilość". W projekcie B potrzebuję odczytać zawartość zmiennej "ilość" i ją np. wyświetlić.
W projekcie B nie ma potrzeby modyfikować zmennej "ilość".
Czy jest jakaś prosta metoda aby to umożliwić? Może zmienną ilość przypisać do jakiegoś obiektu w projekcie A i odwołać się do niego w projekcie B.
Może ktoś podesłać kod jak to zrobić?

0

C# to język obiektowy. Nie ma czegoś takiego jak zmienna globalna. Gdzie masz tą zmienną? Pokaż chociaż fragment kodu gdzie masz ją zadeklarowaną

0

public class DowolnaKlasa
{
public static TypZmiennej zmienna = jakasWartoscPoczatkowa;
}

aby sie do niej dostac robisz:
DowolnaKlasa.zmienna i robisz sobie z nia co chcesz w dowolnym projekcie ktory ma dodana referencje do tego projektu w ktorym jest DowolnaKlasa

0

To może inaczej postawię pytanie. W projekcie A mam zmienną "ilość". W projekcie B potrzebuję odczytać zawartość zmiennej "ilość" i ją np. wyświetlić.
W projekcie B nie ma potrzeby modyfikować zmennej "ilość".
Co to znaczy „w projekcie”?
W innym programie?
Działającym jednocześnie, czy uruchamianym kiedy indziej?
W bibliotece DLL którą ładujesz z programu?

0

Dziękuję za pomoc.

0

Jeśli są to dwie osobne aplikacje (.exe) i chcesz przekazywać między nimi dane podczas gdy obydwa są uruchomione musisz użyć mechanizmów komunikacji międzyprocesowej.

Temat głęboki i szeroki.
www.google.com/search?q=c%23+interprocess+communication

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