Monday, January 12, 2015

T4 Template

<#@ template debug="false" hostspecific="true" language="C#" #>
<#@ import namespace="System.IO" #>
<#@ import namespace="System.Collections.Generic" #>
using System;
using MVN.Framework.Views;

namespace Templates
{

//
    public class <#= this.ViewClass #> : IView
    {
        public void Show()
        {
            throw new NotImplementedException();
        }

<#

var fields = GetFields(@"d:\friends.txt");
foreach (var item in fields)
{#>
public string <#= item #> { get; set; }
<#}#>

    }
}
<#+
string ViewClass = "MyClass";
#>
<#+
private List GetFields(string fileName)
    {
        List lines = new List();

        using (StreamReader r = new StreamReader(fileName))
        {
            string line;
            while ((line = r.ReadLine()) != null)
            {
                lines.Add(line);
            }
        }
return lines;
    }
#>

No comments :