Browse by Tags
All Tags »
Visual Basic (
RSS)
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...
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...
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...
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...
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...
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...
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...
Sometimes I drop the ball and I did on getting these samples posted. Note that this is for the two episodes I did on 3.5 languages. I think these episodes are a good run through of the features in both languages. The title wound up with the word "Compare"...
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...
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...
You must use VB for XML Literal Code Generation. Sorry, that’s life. I don’t have a crystal ball on this, but for now even if you’re a C# programmer you’ve got to suck it up and use VB. The code you output can be VB or C# however, but the template itself...
Code generation templates have several competing pressures – they need to be easy to use and they need to be powerful. They need to be flexible but encourage best practices. If you ever say “my templates got me started then I had to customize them” you...
Check out .NET Rocks TV this week for the first of two parts on .NET 3.5 languages - that's right C# 3.0 and VB 9 together. It makes sense since most features cross over, and where they don't you'll want a handle on the differences.
When I was fighting with AppDomains to support XML Linq code generation in my new Workflow based code generator, Bill McCarthy said “Hey did you look at System.AddIn” and I said “No, silly I’m not writing add-ins.” Well, a few months later, I’m still...
I have just escaped an Alice in Wonderland type maze with System.AddIn namespace. It’s a bit of a nightmare to create the plumbing for an add-in so stay tuned in Visual Studio Magazine for a column on how to generate this so you only do the logical work...
The VB team posted the KB article on the VB 9.0 compiler bug I’ve been talking about. It’s at KB945425 an titled “Lines of code may be missing if you compile a solution that has a complex project structure in Visual Studio 2008”
Rick Strahl talks about new C# 3.0 features , but leaves a few questions… Why can’t you change the property values instances of anonymous types? The problem is that instance of anonymous types are hashed by hashing all values. Thus, if values could change...
I’ve just posted a explanation of the VB 9.0 compiler bug at my website . I decided to post rather than blog because this represents my current best understanding of the problem. I want to keep a single copy up to date, which is not well suited to a blog...
Let me give a little more information on the project which demonstrated the VB 9.0 compiler bug and think its best illustrated with a picture . In addition to having the accidently file reference from a stray assembly (Assembly1 in the picture) there...
A couple of weeks ago I ran into a very surprising bug in the Visual Basic compiler after upgrading a project from 2005 to 2008. To make a long debugging story shorter, I realized a line of code was not included in the IL output. This particular function...