Model validation is one of those things you will never escape. It can haunt you, it can enlarge your controller’s codebase uncontrollably, it can finally piss you off. But it can be done very easily. How? Let me show you that step by step.
C# Attributes are very popular for ‘decorating’ assembly with some additional data, usually influencing on the application’s behavior or the way data are managed. You probably already used at least some of them – Obsolete, Serializable, Required, Display, MaxLength, RegularExpression, WebMethod are only a few of hundreds available in .Net world. What is more, you can write your own custom attribute and use it like a build-in one. I will write more about this in the next post. Right now, let’s focus o...
Sztuka programowania 2585 dni, 19 godzin, 9 minut temu 168 źrodło rozwiń
TypeScript daje nam możliwość dekorowania kodu podobną do tej, którą mamy w C# w postaci atrybutów. Czy oba mechanizmy są tym samym, czy jednak czymś się różnią ?
Jeśli API, z którego musisz skorzystać dostarcza Ci dane w 'brzydkiej' formie, zmapuj je. Dodaj warstwę abstrakcji i ukryj złe struktury.
Sztuka programowania 3003 dni, 18 godzin, 22 minuty temu 158 źrodło rozwiń
Czasami pisząc kod stwierdzamy, że chcemy w jakiś sposób opisać nasze typy w taki sposób, aby można było się do tego odnieść w kodzie. Z pomocą przychodzą nam dwie funkcjonalności .NETu: Reflection i atrybuty. Czym są atrybuty? ...
Daj się poznać 2016 3146 dni, 2 godziny, 48 minut temu 192 źrodło rozwiń
It is a common practice to validate function arguments before running actual code. Usually validation looks like that: public void Update(Car entity) { if(entity ==null) throw new ArgumentNullException("entity"); } There is nothing wrong with this code, however we have to repeat this piece of code in every function. Of course we could create some helper class for argument validation and call approperiate validation function before launching...
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.