Today I would like to introduce you to the world of attributes that helps you skip some parts of code while debugging. Most of the C# programmers probably know them well, but I realized that only a few can tell the differences between them. So, ladies and gentlemen, let me introduce you the DebuggerStepThrough and DebuggerHidden.
Atrybuty autoryzacji. Sporo czasu spędzam ostatnio przy systematyzacji procesu autoryzacji w aplikacji mvc. Plan jest taki, aby każda metoda była zabezpieczona, a dostęp był zweryfikowany rolą, którą ma zalogowany użytkownik. Jak to zrobić? Z pomocą przychodzą atrybuty, ja wykorzystałem dwa (te same, ale dwa) Atrybuty jako AOP Atrybuty służą do tego aby zdefiniować kod, który powinien się wykonać przed wykonaniem metody która została oznaczoną danym atrybutem. ...
Opublikowano 13.05.2016 w kategorii: Receptury tagi: .NET Rozważmy taka sytuacje. Mamy jakiś Enum I chcemy wybrać jego wartość przy pomocy listy wyboru. Chcemy aby użytkownik widział ładnie wyświetlone opisy dla każdej wartości. Poniżej pokazuje jak zrobić to w wygodny sposób tak aby było wygodnie i przejrzyście. Definiujemy nasz typ, a razem z nim opisy. Opis nie jest ograniczony do jednego słowa oraz znaków ASCII. Jeśli nie zdefiniujemy opisu wówczas wykorzystana zostanie nazwa pola.Definicja typu...
Sztuka programowania 3065 dni, 15 godzin, 2 minuty temu 286 źrodło rozwiń
Enumy są fajne. Chociaż dałoby się bez nich żyć, to ułatwiają naprawdę wiele rzeczy. Sęk w tym, że przyjąłem sobie za cel pisanie nazw metod, klas etc. w kodzie tylko i wyłącznie po angielsku, a interfejs na chwilę obecną tworzę w naszym pięknym języku. Jak zatem wyświetlić dla określonej wartości enuma przetłumaczoną (lub kompletnie inną) nazwę w widoku? Niby mamy atrybut [Display(Name = "DisplayName")], ale ... w tym przypadku nie zadziała.
Daj się poznać 2016 3146 dni, 2 godziny, 13 minut temu 133 źrodło rozwiń
Platforma .NET pozwala na definiowanie metadanych, czyli pewnych informacji opisujących różne elementy kodu. Funkcjonalność ta realizowana jest poprzez atrybuty. Atrybuty używane mogą być do opisu takich elementów jak klasy, metody, zdarzenia, pola, właściwości oraz wielu innych. Oprócz szeregu zdefiniowanych atrybutów mamy możliwość tworzenia własnych.
W c# 5.0 dodano dwa nowe atrybuty: CallerMemberName oraz CallerFilePath. Można je stosować do domyślnych parametrów metod:staticprivatevoid Print([CallerMemberName]string methodName =null, [CallerFilePath]string fileName =null) { Console.WriteLine(methodName); Console.WriteLine(fileName); } Wywołanie powyższej metody bez podania argumentów spowoduje przekazaniem nazwy metody, która wywołała Print oraz ścieżki pliku w którym znajduje się ta metoda:Print(); Jeśli Print został wywołany w metodzie ...
autor: Czy korzystacie z refleksji w .NET? Czy zdarzyło wam się przeglądać/ustawiać właściwości klas poprzez refleksje? Czy korzystacie z atrybutów? Mnie często i równie często zdarzało mi się ponownie szukać kodu, który rozwiązałby mój problem, dlatego dla wygody poniżej zamieszczam różne funkcje rozszerzające, które realizują wspomniane wyżej zadania. (być może komuś jeszcze się one przydadzą).
W poprzednim artykule zajęliśmy się częścią odpowiedzialną za wczytywanie i przechowywanie słownika w pamięci. Teraz opiszę w jaki sposób będziemy tłumaczyć UI i oznaczać, które elementy mają temu podlegać. Przedstawię również prostą aplikację napisaną w Windows Forms podsumowującą wszystko o czym mówiliśmy.
Architektura 4803 dni, 11 godzin, 28 minut temu 91 źrodło rozwiń
Czasami potrzeba dodać atrybuty do właściwości/metod klasy, która została stworzona automatycznie przez jakiś designer (na przykład przez ORM). Modyfikowanie klasy bezpośrednio nie ma sensu, ponieważ może ona zostać nadpisana i nasze zmiany zostaną niestety utracone. Atrybuty takie można określić w oddzielnym pliku. Czyli na przykład zamiast:using System; using System.ComponentModel.DataAnnotations; using System.Web.Mvc; public class Product { [HiddenInput(DisplayValue=false)] public i...
Wykorzystywanie atrybutów w C#, jest często marginalizowane, a nawet wręcz pomijane przez programistów tego języka. Jak pokazuje życie, mogą one być całkiem przydatne np. w serializacji obiektów do XMLa. Mogą one się przydać, również w naszych własnych programach. Użycie atrybutów, może spowodować, że napisany przez nas kod będzie bardziej elastyczny i skalowalny, a chyba to się liczy, prawda;)? W dzisiejszym wpisie, chciałbym zatem Wam pokazać, jak w banalny sposób można utworzyć własną klasę atrybutu ...
Architektura 4851 dni, 17 godzin, 55 minut temu 337 źrodło rozwiń