Make your code readable by making it flow with Generics
I’ve seen a couple of examples of code recently which basically have a method which work primarily on a base class but the resultant will always be cast to a concrete implementation. This can make the code a bit clunky as each caller has to cast the resultant to the type it’s expecting. Let me show you want I mean: public abstract class Base { public string Comment { get; set; } } public class Concrete : Base { } public class Update { public static Base AddComment(string message) { // the type created can be determined by some other means eg db call etc....