If you use this IMapper<,> interface for all mappings It is immediately clear from what type to what type it maps. On top of that we can now create extension methods working for all mappers supporting this interface.>
When you create a generic method (Foo
Elements of an IEnumerable sequence do not know about the other elements. I often need to compare an element with a previous or next element. Sometimes I need other context like all the other elements, the previous elements or if an element is the last element. That is why I use an extension method that adds context to all elements.
Paging with Linq (to objects) seems quite simple: This is handy when you need a page 'in the middle only' but if you need to enumerate all pages, you have to caculate the number of pages yourself. The next method will help you to get all pages:
There are already many frameworks to support Inversion of Control (IoC). Most of the frameworks use reflection and use their own code to create a new object. This makes it harder to debug your code and you have no control about how the object is created.
Creating of unit tests of a method with 1 bool parameter needs at least 2 unit tests (false and true). But how many unit tests do you need for a parameter of type IEnumerable
A long story today, but very instructive if you do not have much experience with SOLID. I will give you 2 clues in advance:
While designing a new programming language, I wondered if I would cache query results by default or not. Caching has advantages and disadvantages. I Found a solution that has the best of both worlds. The solution is also possible in C#!
Immaging that you have a customer that should pay you €10, €10, €20, €30, €30. He already paid you €10, €20. You need to know what he still needs to pay you. How will C#/LINQ helps you to give the answer?
Today I saw a Stackoverflow-post about a genaral solution for tree and nodes. It reminds me of a solution I created to store departments in tree. I was surprised that no standard .NET collection does exactly what I need, so I created my own Node
In a project I had to map a lot of external codes and values to our codes and values. This results in methods with switch statements:
In a previous project we stored the values of an enum in a database. That made it easy to fill listboxes and comboboxes. It also helps to ensure data integrity. Storing enums means a violations of the most important rule for developers: single point of definition.