I like the proposal, though it seems the usage won't be easy - then again such code should be quite localized to special dynamic components, not spread around the whole application, so it should be manageable (and I would echo the call for helper (offline) compiler that can convert string template into sample code: in a vaguely analogous situation, writing C# expression trees, being able to inspect regular compiler output saved me many hours)

You are asking about the need to support dynamic TemplateRef generation - it's probably not absolutely essential, but I would really like it. In most use cases I have in mind we would want to drive our UI with data - table definitions, charts, tooltips etc. Being able to generate a template and integrate it with the existing code would be excellent.