木子屋 Dnawo's BLOG

在CodeSmith模板中使用自定义属性和方法

👤 dnawo 📅 2009-07-09 👁 4823 👍 0 💬 0 🔄 本站原创
<%@ CodeTemplate Language="C#" TargetLanguage="C#" %>
<%@ Property Name="NameSpace" Type="String" %>
<%@ Property Name="ClassName" Type="String" %>
<%@ Property Name="Author" Type="String" %>
<%@ Property Name="FN" Type="FirstName" %>
<script runat="template">
//enum
public enum FirstName : int
{
    Zhang,
    Li,
    Wang
}
//method
public string GetLastName()
{
	return "San";
}
</script>
////////////////////////////////////////////////
// File:<% =ClassName %>.cs
// Description: Enter summary here after generation.
// Author:<% =Author %>
// Date:<% =DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") %>
////////////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Text;

namespace <% =NameSpace %>
{
    public class <% =ClassName %>
    {
        public <% =ClassName %>()
        { }

        public string GetUserName()
        {
            return <% =FN + " " + GetLastName()%>;
        }
    }
}

生成的代码:

////////////////////////////////////////////////
// File:Class1.cs
// Description: Enter summary here after generation.
// Author:dnawo
// Date:2009-07-09 03:23:12
////////////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Text;

namespace MZWU
{
    public class Class1
    {
        public Class1()
        { }

        public string GetUserName()
        {
            return Wang San;
        }
    }
}

在<script runat="template">和</script>之间可以定义一些CodeSmith的属性和方法,他们只能在CodeSmith模板中使用,不会在生成的代码中表现出来!

评论(0)

暂无评论。

计算题
评论需审核通过后显示
← 上一篇 创建一个简单的CodeSmith模板 下一篇 → 手机主题在线打包Windows服务设计