Rzadko zdarza mi się pisać o ficzerach języka C#, a już na pewno nie o takich, które są dostępne od wielu lat. Niemniej, dziś miałem okazję ponownie wykorzystać ciekawą i mniej znaną „odsłonę” enum-ów dostępną poprzez atrybut FlagsAttribute, która być może okaże się dla Ciebie przydatna. Klasyczne użycie typów wyliczeniowych Gdybym z własnych obserwacji miał powiedzieć kiedy typy wyliczeniowe są stosowane, odparłbym „kiedy bool nie wystarcza”. Zazwyczaj bowiem, zaczyna się od właśnie od zmiennej typu ...
Sztuka programowania 2221 dni, 8 godzin, 41 minut temu 305 źrodło rozwiń
Posted by slanto on Załóżmy, że mamy zdefiniowaną stałą listę dostępnych pół formularza: imię, nazwisko, data urodzenia, płeć. Pola te mogą być wyświetlane w różnych konfiguracjach, np. Imię z nazwiskiem, nazwisko z datą urodzenia lub tylko płeć. Pomijając fakt że z reguły typy wyliczeniowe łamią zasadę Open/Closed principle (http://pl.wikipedia.org/wiki/Zasada_otwarte-zamkni%C4%99te) i zastosowanie ich w tym przypadku może nie jest najlepszym pomysłem, to jednak chcąc pokazać jak zachowuje się typ...
Sztuka programowania 4577 dni, 1 godzinę, 20 minut temu 221 źrodło rozwiń
Typy Enum są ładnym rozwiązaniem służącym do definiowania stałych. Zamiast przekazywać nic nie mówiącą liczbę do funkcji, możemy zdefiniować enum i przekazać np. TextAlignment.Left – z pewnością poprawi to czytelność kodu. Czasami jednak chcemy przekazać dwa enumy naraz lub dowolną ich kombinację. W tym celu musimy skorzystać z tzw. flag. Zacznijmy od razu od przykładu:[Flags] enum Days { None =0, Sunday =1, Monday =2, Tuesday =4, Wednesday =8, Thursday =16, Friday =32, Sa...