Witam,
Piszę aplikację do odbioru pewnych pakietów danych z urządzenia. W aplikacji głównej odbieram z portu szeregowego cały wiersz danych i następnie chcę przesłać go do parsera. Chcę, aby parser znajdował się w osobnym pliku dll, gdyż w przyszłości chcę dodać obsługę innych urządzeń, w związku z czym będzie się to wiązało z dodaniem nowego pliku dll, w którym będzie zaszyty parser implementujący znany interfejs. W aplikacji głównej znajduje się statyczna klasa, która przechowuje już przetworzone aktualnie odczytane wartości różnego typu - enum, string, int, float itp. Gdyby implementacja nie znajdowała się w osobnej bibliotece klas, to zrobiłbym to tak:
public void Read(string v)
{
if (v == "*E")
{
//tutaj chciałbym przypisać do klasy statycznej Klasa.Error = true
}
if (v == "212")
{
//tutaj chciałbym przypisać do klasy statycznej Klasa.Odczyt = 212
}
if (v == "tekst")
{
//tutaj chciałbym przypisać do klasy statycznej Klasa.Teskt = tekst
}
}
Niestety powyższe rozwiązanie nie zadziała, ponieważ nie mam tu dostępu do statycznej klasy Klasa, a referencję mogę dodać tylko w jedną stronę (bibliotekę do projektu bądź odwrotnie).
W jaki sposób rozwiązać ten problem? Czy są jakieś sprawdzone wzorce?