Generation gap
I have just read this blog by Martin Fowler. I like a lot of what Martin writes, but this is not one of them. The article suggests using inheritance to separate code-generated classes and manually written classes. You would descend from a code-generated class instead of trying to modify the code-generated source. The problems I see with this are Attributes If I have a descendant of a code-generated class how do I attach .NET attributes to members? I’d have to override them and add the attribute in the descendant which would mean all of my members need to be virtual. Obviously this wouldn’t work for Private members. I expect you’d have to attach all of your attributes in the tool which generates the source code, but I don’t like this idea. I will explain why later. Sealed / final What if we want to create a sealed/final class? We can’t. What if we want a specific member to be sealed/final? Then we couldn’t add attributes to the members. Partial Microsoft introduced Partial clas