Aracılığıyla paylaş


Kod Oluşturma ve T4 Metin Şablonları

Visual Studio'da T4 metin şablonu, metin dosyası oluşturabilen metin bloklarının ve denetim mantığının bir karışımıdır. Denetim mantığı, Visual C# veya Visual Basic'te program kodunun parçaları olarak yazılır. T4 şablonları yönergelerinde C# sürüm 6.0 özelliklerini kullanabilirsiniz. Oluşturulan dosya, web sayfası veya kaynak dosyası gibi bir metin veya herhangi bir dilde program kaynak kodu olabilir.

Belirli bir sorun alanındaki deyimleri ifade etmek üzere tasarlanan etki alanına özgü bir dil (DSL) için , Etki Alanına Özgü Bir Dilden Kod Oluşturmayı Öğrenin

İki tür T4 metin şablonu vardır: çalışma zamanı ve tasarım zamanı

Çalışma zamanı T4 metin şablonları

Çalışma zamanı şablonları 'önceden işlenmiş' şablonlar olarak da bilinir. Çıktısının bir parçası olarak metin dizeleri oluşturmak için uygulamanızda şablonları çalıştırırsınız. Örneğin, HTML sayfası tanımlamak için bir şablon oluşturabilirsiniz:

<html><body>
 The date and time now is: <#= DateTime.Now #>
</body></html>

Şablonun oluşturulan çıkışa benzediğini fark edin. Şablonun sonuçta elde edilen çıkışla benzerliği, değiştirmek istediğinizde hatalardan kaçınmanıza yardımcı olur.

Ayrıca, şablon program kodu parçalarını içerir. Metin bölümlerini yinelemek, koşullu bölümler yapmak ve uygulamanızdaki verileri göstermek için bu parçaları kullanabilirsiniz.

Çıktıyı oluşturmak için uygulamanız şablon tarafından oluşturulan bir işlevi çağırır. Örneğin:

string webResponseText = new MyTemplate().TransformText();

Uygulamanız Visual Studio yüklü olmayan bir bilgisayarda çalıştırılabilir.

Çalışma zamanı şablonu oluşturmak için projenize önceden işlenmiş bir metin şablonu dosyası ekleyin. Ayrıca düz metin dosyası ekleyebilir ve Özel Araç özelliğini TextTemplatingFilePreprocessor olarak ayarlayabilirsiniz.

Daha fazla bilgi için bkz . T4 Metin Şablonları ile Çalışma Zamanı Metin Oluşturma. Şablonların söz dizimi hakkında daha fazla bilgi için bkz . T4 Metin Şablonu Yazma.

Tasarım zamanı T4 metin şablonları

Tasarım zamanı şablonları, kaynak kodun bir kısmını ve uygulamanızın diğer kaynaklarını tanımlar. Genellikle, tek bir giriş dosyasındaki veya veritabanındaki verileri okuyan ve .cs, .vb veya diğer kaynak dosyalarınızı oluşturan birkaç şablon kullanırsınız. Her şablon bir dosya oluşturur ve Visual Studio veya MSBuild içinde oluşturulur.

Örneğin, giriş verileriniz yapılandırma verilerinin XML dosyası olabilir. Geliştirme sırasında XML dosyasını her düzenlediğinizde, metin şablonları uygulama kodunun bir bölümünü yeniden oluşturur. Şablonlardan biri aşağıdaki örneğe benzeyebilir:

<#@ output extension=".cs" #>
<#@ assembly name="System.Xml" #>
<#
 System.Xml.XmlDocument configurationData = ...; // Read a data file here.
#>
namespace Fabrikam.<#= configurationData.SelectSingleNode("jobName").Value #>
{
  ... // More code here.
}

Oluşturulan .cs dosyası, XML dosyası değerlerine göre aşağıdaki biçimdedir:

namespace Fabrikam.FirstJob
{
  ... // More code here.
}

Başka bir örnek olarak, giriş bir iş etkinliğindeki iş akışının diyagramı olabilir. Kullanıcılar iş akışlarını değiştirdiğinde veya farklı bir iş akışına sahip yeni kullanıcılarla çalışmaya başladığınızda kodu yeni modele uyacak şekilde yeniden oluşturmak kolaydır.

Not

Model terimi bazen bir veya daha fazla şablon tarafından okunan verileri açıklamak için kullanılır. Model herhangi bir biçimde, herhangi bir dosya veya veritabanında olabilir. UmL modeli veya Etki Alanına Özgü Dil modeli olması gerekmez. 'Model', verilerin koda benzemez, iş kavramları açısından tanımlanabileceğini gösterir. Gereksinimler değiştikçe yapılandırma değiştirilirken tasarım zamanı şablonları daha hızlı ve daha güvenilirdir. Giriş genellikle iş akışı örneğinde olduğu gibi iş gereksinimleri açısından tanımlanır. Tasarım zamanı şablonları, çevik geliştirme sürecinde kullanışlı araçlardır.

Tasarım zamanı şablonu oluşturmak için projenize bir Metin Şablonu dosyası ekleyin. Alternatif olarak, düz metin dosyası ekleyebilir ve Özel Araç özelliğini TextTemplatingFileGenerator olarak ayarlayabilirsiniz.

Daha fazla bilgi için bkz . T4 Metin Şablonları kullanarak Tasarım Zamanı Kodu Oluşturma. Şablonların söz dizimi hakkında daha fazla bilgi için bkz . T4 Metin Şablonu Yazma.

Metin şablonu dönüştürme özelliği T4 olarak adlandırılır.

Ayrıca bkz.