Chris asks: At what point with code gen / templating do you start to think about doing all this codegen at runtime instead of compile time? And if we were to be doing it at runtime would be be better served by using a dynamic language such as ruby to program in? That's a good point. In a perfect...
It’s occurred to me that if you are following this and my DNR TV show a logical reaction would be “OK, so that’s a lot of hot air, where do I get it?” I intend for all of this to be released Open Source, on whichever site s hot when I release it. I hope I’ll start releasing pieces in just a matter of...
In code generation, metadata is the information about your application, generally about your database and definitions to express your data as business objects. If you use Entity Framework, your metadata is the edmx file which is displayed via the designers. If you’re using CodeSmith, the metadata is...
Creating templates requires a lot of access to the thing you’re currently creating. That’s the current output type, which as I discussed in yesterday I suffix with “Info.” The CurrentTypeInfo is thus what you’re currently outputting. I neglected to clarify in that post that the Data and the Info classes...
One of the confusing things about templating is that you are writing two programs simultaneously and there is no way around it. My brilliant son may write a templating language for a class project, and this is exactly what he wants to address – that and the issue of escaping. You can’t avoid it, he just...
One of the most valuable things about templates written in .NET code of any style is the ability to use inheritance. This is classic inheritance where local state allows you to push functionality into base class methods that would become cumbersome and have excess dependencies if treated as external...
So, now that you know where I’m going with this – language neutral templates – I want to step back to the basics. Even if you don’t want to build language neutral templates, there are things to learn along the way about making good XML literal templates, and why this approach might be better than your...
I mentioned a few days ago that there was a punch line for the XML Literal Code Generation. I planned to unveil this slowly, but it just sprung out of the box when Carl posted episode #102 (which I thought was due for next Friday. And I’m afraid that I need to add that I was sick during the taping and...
Crap. For now, I'm just removing the coloring. Paste this into VS for coloring. It's much prettier: Private Function MemberDataPortalFetch() As String ' TODO: Add special handing for timestamp Return _ <code> Private Overloads Sub DataPortal_Fetch(ByVal criteria As Criteria) Using cn...
OK, that code listing got friend on load. Let me try again. Private Function MemberDataPortalFetch() As String Return _ < code > Private Overloads Sub DataPortal_Fetch(ByVal criteria As Criteria) Using cn As New SqlConnection( <%= mObjectData.ConnectionStringName %> ) cn.Open() Using cm As...