Archiwum kategorii: C#

Bezpieczeństwo w aplikacjach C#. Podstawy i nie tylko. Część I.

Bezpieczeństwo jest szerokim tematem i ma jeden poważny minus nigdy się do końca nie wie czy to co się wie na temat bezpieczeństwa jest wystarczające do tego by powiedzieć, że aplikacja, którą napisaliśmy jest bezpieczna. Zawsze się znajdzie, ktoś kto powie, że jakieś zabezpieczenie jest słabe lub niewystarczające. Mimo tego, podstawy trzeba znać, poniżej opisuje podstawy zabezpieczeń aplikacji C#.

Czytaj dalej Bezpieczeństwo w aplikacjach C#. Podstawy i nie tylko. Część I.

Przygody z BitConverter i StreamReader

Napotkałem problem z klasą StreamReader, która nie radzi sobie z odczytaniem plików w formie tablicy bajtów. Różne kombinację z odczytaniem czy to całej linii czy też całego pliku – ReadToEnd(), nie przyniosły właściwego skutku. Poniżej prezentuje jak można odczytać sekwencję bajtów  bezpośrednio z pliku.

Czytaj dalej Przygody z BitConverter i StreamReader

Czy można serializować interfejsy C#? Można!

Ostatnio chciałem serializować i deserializować liste gdzie typem listy był interfejs (coś takiego: List<IPerson>). Chciałem do tego wykorzystać XmlSerializer-a. Okazało się, że przy użyciu tej klasy nie można serializować listy interfesjów do XML-a. Już chciałem szukać dlaczego nie można, ale miałem trochę czasu i stwierdziłem, że tym razem zrobimy to w trudny sposób. Poniżej prezentuję jak można serializować i deserializować listę interfejsów.

Czytaj dalej Czy można serializować interfejsy C#? Można!

Co należy wiedzieć o Garbage Collection w C#?

Wiedza na temat zarządzania pamięcią w C# jest ważna ale nie jest niezbędna. Garbage Collection wykonuje mnóstwo czynności za Nas. Jednak czasem wiedza o pamięci może być pomocna i taka wiedza przydaje się na rozmowy kwalifikacyjne i na egzaminy (70-483). Poniżej zebranie najważniejszych informacji o GC, które należy znać.

Czytaj dalej Co należy wiedzieć o Garbage Collection w C#?

Extension do „Linq to Object”. Na przykładzie SplitIntoParts.

„Linq to Object” jest bardzo dobrze wyposażonym mechanizmem. Posiada wiele metod, które generalnie pokrywają 70% potrzeb podczas projektowania aplikacji. Jednak czasami potrzebujemy tych 30%, których nie ma. Poniżej pokazuje jak napisać własną metodę rozszerzeń (extension method) do Linq To Object na przykładzie autorskiej metody SplitIntoParts.

Czytaj dalej Extension do „Linq to Object”. Na przykładzie SplitIntoParts.

C# 6.0 – nowości – słowo kluczowe „nameof”

Dołączę do grona piszących o nowościach w C# 6. Jedną z nich jest słowo kluczowe „nameof”. Po zainstalowania Visual Studio 2015 (do czego gorąco zachęcam) będzie można je sprawdzić w praktyce.  Nameof zwraca w postaci stringa nazwę argumentu, który przekazujemy do metody nameof.

Czytaj dalej C# 6.0 – nowości – słowo kluczowe „nameof”