آبجی
13th February 2010, 12:12 PM
یکی از امکانات بی نظیری که در VS 2008 قرار داده شده و به صورت Undocumented هست، قابلیتی با عنوان Text Template Transformation Toolkit هست که به دلیل اینکه از چهار کلمه که حرف اول اونها T هست تشکیل شده، به اختصار T4 نامیده میشه.
با استفاده از این قابلیت می تونید قالبی تعیین کنید و تولید کدها رو بر اساس اون قالب بر عهده ی VS.NET بگذارید.
یک نمونه ی ساده رو با هم پیاده سازی می کنیم:
- یک برنامه ی Console در #C ایجاد کنید.
- Add New Item کنید و یک فایل به برنامه اضافه و پسوند اون رو tt بگذارید. به عنوان مثال، test.tt
- از اونجایی که پسوند tt برای VS.NET مفهوم خاصی داره، وقتی که فایلی با پسوند tt رو به برنامه اضافه کنید، صفحه ای باز میشه که در اون هشدار داده شده که “اجرای این قالب میتونه به کامپیوتر شما صدمه بزنه و اگر اون رو از جایی غیر مطمئن دریافت کردید، از اجرای اون خودداری کنید.” OK کنید. در این حالت، فایل با پسوند tt که یک فایل با پسوند cs رو در زیر مجموعه ی خودش داره به پروژه اضافه میشه.
- کدهای ذیل رو به فایل tt اضافه کنید:
<#@ template language=”C#” #>
using System;
public class <#= this.ClassName #>
{
public static void HelloWorld()
{
Console.WriteLine(”Hello, World!”);
}
}
<#+
string ClassName = “MyClass”;
#>
دو نکته رو در کدهای بالا می بینید.
اول اینکه جاهایی که نیاز هست مقادیر اون قسمت بعداً به قالب پاس داده بشن در سینتکس آشنای ASP.NET یعنی بین <# و #> قرار گرفته اند.
و دومین نکته اینکه، قالب ما عضوی (خاصیتی) با نام ClassName داره که در خط آخر، مقدار اون به MyClass تنظیم شده.
تنها کار باقی مانده این هست که دکمه ی Save رو فشار بدید! کدهای نهایی در فایل cs زیر مجموعه ی فایل tt تولید می شوند.
نتیجه گیری: T4 قابلیت بسیار جالب و کاربردی برای تولید خودکار کد در VS.NET 2008 هست. در این پست تنها با گوشه ای از قابلیت های اون آشنا شدید. پیشنهاد می کنم در موردش بیشتر تحقیق و مطالعه بفرمایید.
موفق باشید.
با استفاده از این قابلیت می تونید قالبی تعیین کنید و تولید کدها رو بر اساس اون قالب بر عهده ی VS.NET بگذارید.
یک نمونه ی ساده رو با هم پیاده سازی می کنیم:
- یک برنامه ی Console در #C ایجاد کنید.
- Add New Item کنید و یک فایل به برنامه اضافه و پسوند اون رو tt بگذارید. به عنوان مثال، test.tt
- از اونجایی که پسوند tt برای VS.NET مفهوم خاصی داره، وقتی که فایلی با پسوند tt رو به برنامه اضافه کنید، صفحه ای باز میشه که در اون هشدار داده شده که “اجرای این قالب میتونه به کامپیوتر شما صدمه بزنه و اگر اون رو از جایی غیر مطمئن دریافت کردید، از اجرای اون خودداری کنید.” OK کنید. در این حالت، فایل با پسوند tt که یک فایل با پسوند cs رو در زیر مجموعه ی خودش داره به پروژه اضافه میشه.
- کدهای ذیل رو به فایل tt اضافه کنید:
<#@ template language=”C#” #>
using System;
public class <#= this.ClassName #>
{
public static void HelloWorld()
{
Console.WriteLine(”Hello, World!”);
}
}
<#+
string ClassName = “MyClass”;
#>
دو نکته رو در کدهای بالا می بینید.
اول اینکه جاهایی که نیاز هست مقادیر اون قسمت بعداً به قالب پاس داده بشن در سینتکس آشنای ASP.NET یعنی بین <# و #> قرار گرفته اند.
و دومین نکته اینکه، قالب ما عضوی (خاصیتی) با نام ClassName داره که در خط آخر، مقدار اون به MyClass تنظیم شده.
تنها کار باقی مانده این هست که دکمه ی Save رو فشار بدید! کدهای نهایی در فایل cs زیر مجموعه ی فایل tt تولید می شوند.
نتیجه گیری: T4 قابلیت بسیار جالب و کاربردی برای تولید خودکار کد در VS.NET 2008 هست. در این پست تنها با گوشه ای از قابلیت های اون آشنا شدید. پیشنهاد می کنم در موردش بیشتر تحقیق و مطالعه بفرمایید.
موفق باشید.