Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Metin şablonu dönüştürme işlemi, giriş olarak bir metin şablonu dosyası alır ve çıkış olarak bir metin dosyası oluşturur. Metin şablonu dönüştürme altyapısı işlemi denetler ve altyapı işlemi tamamlamak için bir metin şablonu dönüştürme konağı ve bir veya daha fazla metin şablonu yönerge işlemcisi ile etkileşim kurar. Daha fazla bilgi için bkz. Metin Şablonu Dönüştürme İşlemi.
Özel bir yönerge işlemcisi oluşturmak için, ya DirectiveProcessor ya da RequiresProvidesDirectiveProcessor öğesinden devralan bir sınıf oluşturursunuz.
Bu ikisi arasındaki fark, DirectiveProcessor kullanıcıdan parametre almak ve şablon çıkış dosyasını üreten kodu oluşturmak için gereken en düşük arabirimi uygulamadır.
RequiresProvidesDirectiveProcessor gerekli/sunan tasarım desenini uygular.
RequiresProvidesDirectiveProcessor, iki özel parametreyi requires ve provides işleyebilir. Örneğin, özel yönerge işlemcisi kullanıcıdan bir dosya adı kabul edebilir, dosyayı açıp okuyabilir ve ardından dosyanın metnini adlı fileTextbir değişkende depolayabilir.
RequiresProvidesDirectiveProcessor sınıfının bir alt sınıfı, requires parametresine kullanıcıdan aldığı bir dosya adını ve provides parametresine metnin depolanacağı değişken adını alabilir. Bu işlemci dosyayı açıp okur ve ardından dosyanın metnini belirtilen değişkende depolar.
Visual Studio'daki bir metin şablonundan özel yönerge işlemcisini çağırmadan önce bunu kaydetmeniz gerekir.
Kayıt defteri anahtarını ekleme hakkında daha fazla bilgi için bkz. Özel Yönerge İşlemcisi Dağıtma.
Özel Yönergeler
Özel yönerge şuna benzer:
<#@ MyDirective Processor="MyDirectiveProcessor" parameter1="value1" ... #>
Bir metin şablonundan dış verilere veya kaynaklara erişmek istediğinizde özel yönerge işlemcisi kullanabilirsiniz.
Farklı metin şablonları, tek bir yönerge işlemcisinin sağladığı işlevselliği paylaşabilir, bu nedenle yönerge işlemcileri kodu yeniden kullanmak üzere faktörlü hale getirmek için bir yol sağlar. Yerleşik include yönergesi benzerdir, çünkü kodu ayırmak ve farklı metin şablonları arasında paylaşmak için bunu kullanabilirsiniz. Aradaki fark, yönergenin sağladığı tüm işlevlerin include sabit olması ve parametreleri kabul etmemesidir. Bir metin şablonuna ortak işlevler sağlamak ve şablonun parametreleri geçirmesine izin vermek istiyorsanız, özel yönerge işlemcisi oluşturmanız gerekir.
Özel yönerge işlemcilerine bazı örnekler şunlar olabilir:
Kullanıcı adı ve parolayı parametre olarak kabul eden bir veritabanından veri döndürmek için yönerge işlemcisi.
Dosyanın adını parametre olarak kabul eden bir dosyayı açmak ve okumak için bir yönerge işlemcisi.
Özel yönerge işlemcisinin ana parçaları
Yönerge işlemcisi geliştirmek için DirectiveProcessor veya RequiresProvidesDirectiveProcessor öğesinden devralan bir sınıf oluşturmalısınız.
Uygulamanız gereken en önemli DirectiveProcessor yöntemler şunlardır.
bool IsDirectiveSupported(string directiveName)- Yönerge işlemciniz adlandırılmış yönergeyle başa çıkabiliyorsa döndürürtrue.void ProcessDirective (string directiveName, IDictionary<string, string> arguments)- Şablon altyapısı, şablondaki bir yönergenin her oluşumu için bu yöntemi çağırır. İşlemcinizin sonuçları kaydetmesi gerekir.
ProcessDirective() için yapılan tüm çağrılardan sonra şablon oluşturma altyapısı şu yöntemleri çağırır:
string[] GetReferencesForProcessingRun()- Şablon kodunun gerektirdiği derlemelerin adlarını döndürür.string[] GetImportsForProcessingRun()- Şablon kodunda kullanılabilecek ad alanlarını döndürür.string GetClassCodeForProcessingRun()- Şablon kodunun kullanabileceği yöntemlerin, özelliklerin ve diğer bildirimlerin kodunu döndürür. Bunu yapmanın en kolay yolu C# veya Visual Basic kodunu içeren bir dize oluşturmaktır. Yönerge işlemcinizin herhangi bir CLR dili kullanan bir şablondan çağrılabilmesini sağlamak için deyimlerini CodeDom ağacı olarak oluşturabilir ve sonra şablonun kullandığı dilde ağacı seri hale getirmenin sonucunu döndürebilirsiniz.Daha fazla bilgi için bkz . İzlenecek Yol: Özel Yönerge İşlemcisi Oluşturma.
İlgili içerik
- Özel Yönerge İşlemcisi Dağıtma, özel yönerge işlemcisini kaydetme sürecini açıklar.
- İzlenecek yol: Özel Yönerge İşlemcisi Oluşturma , özel yönerge işlemcisi oluşturma, yönerge işlemcisini kaydetme ve test etme ve çıkış dosyasını HTML olarak biçimlendirme işlemleri açıklanmaktadır.