Archiwum kategorii: C#

App.config – jak używać innego pliku do konfiguracji

Prosty przypadek: biblioteka potrzebuje trzymać hasło i użytkownika do konfiguracji aplikacji w app.configu. Rozwijam bibliotekę, która jest  wersjonowana w gicie. Dodałem wyjątek do .gitignore, aby plik app.config się nie wersjonował. Następnie dodałem bibliotekę z testami i tam też muszę dodać konfigurację. Dodać kolejny wyjątek  to już przesada więc można by tak zrobić aby biblioteka testowa używała już istniejącej konfigurację z innego pliku app.config. Oto dwa sposoby

Czytaj dalej App.config – jak używać innego pliku do konfiguracji

.gitignore – nie działa

Jak by coś nie działało z Git ignore. Czyli zawsze wtedy gdy dodajemy regułę do pliku a ona nie jest brana pod uwagę,  to repozytorium trzeba po prostu odświeżyć aby zmiany się załapały.

Komedny ponizej:

git rm -r --cached .
git add .
git commit -m "aktualizacja plików z git ignore"  

Rozwiązanie sprawdzone i działa.

Ewentualna pomoc na StackOverflow tutaj

NUnit Test Adapter Visual Studio 2015

Tak dla jasności. Jeśli ktoś chce używać NUnita w Visual Studio 2015 to niech pamięta, że:

  • Nunit.Framework w wersji 3+ wymaga NUnit Test Adapter dla Visual Studio 2015 w wersji 3 czyli paczka nazywa się NUnit3 Test Adapter
  • Jeśli Nunit.Framework jest w wersji 2 to wtedy paczka, która nazywa się NUnit Test Adapter będzie w ok.

Czytaj dalej NUnit Test Adapter Visual Studio 2015

Parsowanie plików z ogranicznikiem pól. Metoda String.Split i String.SplitWithCheckSeparator

Metoda Split dzieli łańcuch znaków na części w zależności od separatora, który został przekazany w parametrach. Ostatnio jednak natknąłem się na plik CSV, który oprócz tego, że jest rozdzielony przecinkami to na dodatek ma jeszcze ogranicznik pól. Parsowanie takiego pliku metodą String.Split nie będzie prawidłowe. Poniżej implementacja metody String.Split z możliwością zdefiniowania ogranicznika pól(checkSeparator).

Czytaj dalej Parsowanie plików z ogranicznikiem pól. Metoda String.Split i String.SplitWithCheckSeparator

Słowo kluczowe – var – używać czy nie używać?

Słowo kluczowe var wprowadzone w C# 3.0 pozwala w codziennej pracy programisty .NET unikać definiowania typów danych, zrzucając odpowiedzialność na ustalenie typu kompilatorowi. W większość przypadków kompilator domyśla się jaki typ ma mieć dana zmienna i życie toczy się dalej. Jednak z czasem można zauważyć pewne efekty uboczne w czytelności kodu. Poniżej moje przemyślenia na temat var.

Czytaj dalej Słowo kluczowe – var – używać czy nie używać?

Klasa Lazy w .NET 4.0

Przez przypadek dokładając swoją cegiełkę do dyskusji o tym, czy wzorzec singielton jest dobry czy zły, doszukałem się dość ciekawej klasy w .NET 4.0, mianowicie klasy Lazy<T> wprowadzonej w .NET 4.0. Klasa ma dość rozbudowany jak na C# sposób obsługi tworzenia obiektów z opóźnioną inicjalizacją w aplikach wielowątkowych. Poniżej, zwięzły opis i przykład zastosowania.

Czytaj dalej Klasa Lazy w .NET 4.0

C# składnie, o których zapominamy

Pracując długo jako programista C# trzeba uważać na stan, w którym ciągle i ciągle używamy tych samych metod na osiągnięcie podobnych celów. Człowiek jest istotą, która bardzo szybko się przyzwyczaja przez co przestaje korzystać ze wszystkich udogodnień jakie oferuje środowisko. Poniżej kilka przykładów składni w C#, o których nie zawsze pamiętamy.

Czytaj dalej C# składnie, o których zapominamy