اشتراکها
10 ویژگی برتر sql server 2014
اشتراکها
کنفرانس TechEd North America 2014
بعد از ایجاد فایل Text template که در جلسه قبل با آن آشنا شدید، برای شروع قواعد زیر را در نظر بگیرید :
- تنظیمات مربوط به فایل Text template و نحوه تولید خروجی در ابتدای فایل و بین علامت <#@ و #> قرار میگیرد.
- هر متنی که بصورت معمول در فایل tt نوشته شود، به همان صورت در فایل خروجی قرار میگیرد.
- هر دستوری که در بین علامتهای <#= و #> قرار گیرد هنگام کامپایل اجرا شده و معادل آن در همان مکان متن قرار میگیرد.
- هر دستوری که بین علامتهای <# و #> قرار گیرد، هنگام کامپایل اجرا میشود. در این صورت دستورات نوشته شده در این قسمت فقط اجرا میگردد و معمولا برای استفاده در قسمتهای دیگر، داخل بلوک <#= #> نوشته میشود .
- برای تعریف کلاس یا متد جدید جهت استفاده در فایل tt میتوانیم کلاس را در بین علامت <#+ و #> قرار دهیم. در این صورت کلاس و متدهای نوشته شده در قسمتهای دیگر، داخل بلوک <#= #> و یا <# #> مورد استفاده قرار میگیرند.
اجازه دهید با یک مثال ساده قواعد اولیه را بررسی کنیم :
در این مثال، T در واقع متغیری است که در بلوک <# #> تعریف گردیده و در بلوک <#= #> مقدار آن استفاده میشود. خروجی فایل چیزی شبیه به دو خط زیر خواهد بود:
خروجی Text template بالا فایل Cs با محتوی
شبیه کد زیر خواهد بود: (روز نگارش مطلب البته دوشنبه است) فکر میکنم این 3 مثال ساده، تا حد زیادی قواعد اولیه T4 Text
Template را برای شما روشن کرده باشد. در
قسمت بعدی برخی قواعد تکمیلی را در این مورد خدمتتون ارائه میدم.
- تنظیمات مربوط به فایل Text template و نحوه تولید خروجی در ابتدای فایل و بین علامت <#@ و #> قرار میگیرد.
- هر متنی که بصورت معمول در فایل tt نوشته شود، به همان صورت در فایل خروجی قرار میگیرد.
- هر دستوری که در بین علامتهای <#= و #> قرار گیرد هنگام کامپایل اجرا شده و معادل آن در همان مکان متن قرار میگیرد.
- هر دستوری که بین علامتهای <# و #> قرار گیرد، هنگام کامپایل اجرا میشود. در این صورت دستورات نوشته شده در این قسمت فقط اجرا میگردد و معمولا برای استفاده در قسمتهای دیگر، داخل بلوک <#= #> نوشته میشود .
- برای تعریف کلاس یا متد جدید جهت استفاده در فایل tt میتوانیم کلاس را در بین علامت <#+ و #> قرار دهیم. در این صورت کلاس و متدهای نوشته شده در قسمتهای دیگر، داخل بلوک <#= #> و یا <# #> مورد استفاده قرار میگیرند.
اجازه دهید با یک مثال ساده قواعد اولیه را بررسی کنیم :
<#@ template debug="false" hostspecific="false" language="C#" #> <#@ output extension=".txt" #> <# var T = DateTime.Now; #> The Time is : <#= T #> The Time is : <#= DateTime.Now #>
The Time is : 02/16/2014 14:17:39
The Time is : 02/16/2014 14:17:39
به عنوان یک مثال دیگر که قواعد توضیح داده شده را پوشش دهد به مثال زیر توجه کنید : The Time is : 02/16/2014 14:17:39
<#@ template debug="true" hostspecific="false" language="C#" #> <#@ output extension=".cs" #> using System; using System.Text; <# string ClassName = "DotnetTips"; #> public class <#= ClassName + "_" + new MyTestClass().Str #> { } <#+ public class MyTestClass { public string Str { get{return new DateTime().DayOfWeek.ToString() ;} } } #>
using System; using System.Text; public class DotnetTips_Monday { }
به عنوان یک مثال ساده دیگر برای فهم بیشتر به کد زیر جهت تولید Table در Html توجه کنید:
<#@ template debug="false" hostspecific="false" language="C#" #> <#@ output extension=".html" #> <html><body> <table> <# for (int i = 1; i <= 10; i++) { #> <tr> <td>Test name <#= i #> </td> <td>Test value <#= i * i #> </td> </tr> <# } #> </table> </body></html>
هنگام ارائه نهایی (در پوشهای جداگانه از فایلهای اصلی) یکبار روی فایلها اجرا میشود.