के भीतर किया जा सकता है मेरे पास एक टी 4 टेम्पलेट है जिसका उपयोग टेक्स्ट टेम्प्लेटिंगफाइलप्रप्रोसेसर के साथ किया जाता है ताकि वह कक्षा उत्पन्न कर सके जिसे मैं टेम्पलेट के आउटपुट को उत्पन्न करने के लिए उपयोग कर सकता हूं।सशर्त संकलन प्रतीकों का उपयोग टी 4 टेम्पलेट्स
टी 4 टेम्पलेट की शुरुआत में मैं कई नामस्थान आयात करता हूं। जैसे
<#@ import namespace="Company.ProductX.Widgets" #>
<#@ import namespace="Company.ProductX.Services" #>
//...
मैं Preprocessor Directives उपयोग करने के लिए नेमस्पेस (जो एक ही इंटरफेस प्रदान करते हैं लेकिन ProductX कार्यक्षमता भिन्न) का एक और सेट के साथ इन आयात बाहर स्विच करना चाहते हैं। जैसे
<#
#if(ProductX)
{
#>
<#@ import namespace="Company.ProductX.Widgets" #>
<#@ import namespace="Company.ProductX.Services" #>
//...
<#
}
#endif
#>
<#
#if(ProductY)
{
#>
<#@ import namespace="Company.ProductY.Widgets" #>
<#@ import namespace="Company.ProductY.Services" #>
//...
<#
}
#endif
#>
ऊपर के उदाहरण के साथ
आयात पूर्वप्रक्रमक निर्देश की परवाह किए बिना कक्षा में बयान का उपयोग कर इसी बनाने के लिए लग रहे हैं। जैसे
using Company.ProductX.Widgets
using Company.ProductX.Services
using Company.ProductY.Widgets
using Company.ProductY.Services
वहाँ एक और तरीका है टी -4 टेम्पलेट्स में preprocessors उपयोग करने के लिए स्वयं टेम्पलेट के बजाय टेम्पलेट उत्पादन प्रभावित होने की है?
हम ऐसा करने के लिए ऐसे 'हेडर' टेम्पलेट्स का उपयोग करते हैं और पाते हैं कि यह काफी अच्छी तरह से काम करता है। उत्पाद में बनाए गए निर्देशों के आस-पास सशर्तों को सम्मिलित करने का कोई तरीका नहीं है। – GarethJ
उत्तर के लिए धन्यवाद। यह चारों ओर एक अच्छा काम की तरह लगता है। एक बार जब मैं इसे काम कर लेता हूं तो मैं इसे समाधान के रूप में चिह्नित करूंगा। –