यह कमांड जेनएक्स है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे कि उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।
कार्यक्रम:
नाम
जेनक्स - मोनो का एक्सएमएल सीरियलाइज़र जेनरेटर
SYNOPSIS
genxs कॉन्फ़िगरेशन फ़ाइल [गंतव्य फ़ोल्डर]
वर्णन
genxs कक्षाओं के लिए कस्टम XML क्रमांकन लेखक और पाठक उत्पन्न करने का एक उपकरण है।
विन्यास फाइल कॉन्फ़िगरेशन फ़ाइल है जो कई जानकारी निर्दिष्ट करती है, जैसे कि
कक्षा जिसके लिए पाठक और लेखक उत्पन्न करना है, कक्षाओं का नाम और नामस्थान
उत्पन्न करने के लिए, और लागू करने के लिए हुक का एक संग्रह। हुक का उपयोग करके यह संभव है
जेनरेट की गई फ़ाइल को संशोधित करने की आवश्यकता के बिना सीरिएलाइज़र के व्यवहार को अनुकूलित करें
यदि स्रोत वर्ग संशोधित है तो आप इसे सुरक्षित रूप से पुन: उत्पन्न कर सकते हैं।
गंतव्य फ़ोल्डर उस फ़ोल्डर को निर्दिष्ट करता है जहां फ़ाइलें उत्पन्न की जाएंगी।
नोट: यह उपकरण केवल मोनो रनटाइम में चलता है, क्योंकि यह कुछ आंतरिक कक्षाओं का उपयोग नहीं करता है
अन्य रनटाइम में उपलब्ध है।
विन्यास फ़ाइल FORMAT
कॉन्फ़िगरेशन फ़ाइल निम्नलिखित व्याकरण पर आधारित एक xml दस्तावेज़ है ("?" का अर्थ है
वैकल्पिक, "*" 0 या अधिक):
*
नाम ?
नाम ?
नाम ?
नाम ?
?
*
?
*
एक कॉन्फ़िगरेशन फ़ाइल में कई "सीरियलाइज़र" तत्व हो सकते हैं, जिनमें से प्रत्येक निर्दिष्ट करता है
क्लास जिसके लिए कई पीढ़ी के विकल्पों के साथ एक सीरियलाइज़र उत्पन्न करना है।
स्रोत वर्ग निम्नलिखित विशेषताओं में निर्दिष्ट है:
* कक्षा : वर्ग का नाम (नेमस्पेस सहित)।
* विधानसभा : विधानसभा का नाम. इसमें पूरा पथ शामिल हो सकता है.
जनरेशन विकल्प चाइल्ड तत्वों में निर्दिष्ट हैं:
* पाठक : पाठक वर्ग का नाम.
* कोई पाठक नहीं : यदि "सही" है, तो यह पाठक वर्ग उत्पन्न नहीं करता है।
* लेखक : लेखक वर्ग का नाम.
* बेस सीरियलाइज़र : बेस एक्सएमएल सीरिएलाइज़र क्लास का नाम। यह आइटम केवल 2.0 है.
* कार्यान्वयन : सीरिएलाइज़र कार्यान्वयन वर्ग का नाम। यह आइटम केवल 2.0 है.
* कोई लेखक नहीं : यदि "सही" है, तो यह लेखक वर्ग उत्पन्न नहीं करता है।
* नाम स्थान : पाठक और लेखक वर्गों का नामस्थान।
* आंतरिक के रूप में उत्पन्न करें : यदि "सही" है, तो यह कक्षाओं को आंतरिक के रूप में उत्पन्न करता है।
* आउटफ़ाइलनाम : जनरेट की गई फ़ाइल का नाम.
* रीडरहुक : पाठक पर लागू करने के लिए हुक की एक सूची।
* राइटरहुक : लेखक पर लागू करने के लिए हुक की एक सूची।
निर्दिष्ट करना हुक
हुक का उपयोग करके आप पाठकों और लेखकों के व्यवहार को अनुकूलित कर सकते हैं। एक हुक विशिष्टता
इस व्याकरण का अनुसरण करता है:
?
नाम ?
नाम *
नाम ?
सोर्स कोड ?
सोर्स कोड ?
सोर्स कोड ?
"प्रकार" विशेषता उस संदर्भ को निर्दिष्ट करती है जिसमें हुक लगाया जाता है। यह इनमें से एक हो सकता है
निम्नलिखित हैं:
* विशेषताओं : हुक वहां लगाया जाता है जहां विशेषताएँ क्रमबद्ध/डिसेरिएलाइज़ की जाती हैं।
* तत्व : हुक वहां लगाया जाता है जहां तत्वों को क्रमबद्ध/डिसेरिएलाइज़ किया जाता है।
* अज्ञात गुण : हुक वहां लगाया जाता है जहां अज्ञात विशेषताओं को संसाधित किया जाता है।
* अज्ञाततत्व : हुक वहां लगाया जाता है जहां अज्ञात तत्वों को संसाधित किया जाता है।
* सदस्य : हुक वहां लगाया जाता है जहां एक सदस्य को क्रमबद्ध/डिसेरिएलाइज़ किया जाता है।
* टाइप : हुक पूरे प्रकार के लिए लगाया जाता है।
"चयन करें" तत्व उन वर्गों और सदस्यों को निर्दिष्ट करता है जिनमें हुक जोड़ा जाना है।
इसमें निम्नलिखित तत्व शामिल हो सकते हैं:
* नाम टाइप करें : उस नाम वाली कक्षा का चयन किया जाएगा (नामस्थान शामिल होना चाहिए)
* टाइपएट्रिब्यूट : वे सभी वर्ग जिनमें वह विशेषता लागू है, का चयन किया जाएगा
(नेमस्पेस सहित पूर्ण विशेषता वर्ग का नाम निर्दिष्ट करें)। अनेक विशेषता नाम
निर्दिष्ट किया जा सकता है।
* सदस्य टाइप करें : उस वर्ग सदस्य का नाम जिसके लिए हुक जोड़ा जाना चाहिए।
हुक स्रोत कोड को निम्नलिखित तत्वों में से किसी का उपयोग करके निर्दिष्ट किया जा सकता है:
* की जगह : प्रदान किया गया स्रोत कोड सभी क्रमबद्धता/डीसेरिएलाइज़ेशन को प्रतिस्थापित कर देगा
हुक संदर्भ में संचालन।
* पहले डालें : हुक संदर्भ से पहले स्रोत कोड जोड़ा जाएगा।
* बाद में डालें : हुक संदर्भ के बाद स्रोत कोड जोड़ा जाएगा।
हुक के लिए कोड लिखते समय आप परिभाषित कुछ विशेष चर का उपयोग कर सकते हैं
कोड जनरेशन प्रक्रिया के दौरान। चर निम्नलिखित हैं:
* $प्रकार: उत्पन्न होने वाले वर्ग का नाम, बिना नेमस्पेस के।
* $पूर्ण प्रकार: नेमस्पेस सहित, उत्पन्न होने वाली कक्षा का पूरा नाम।
* $वस्तु: वस्तु को क्रमबद्ध या अक्रमांकित किया जा रहा है। रिप्लेस रीडर का उपयोग करते समय
"प्रकार" प्रकार का हुक, हुक कोड को इसके लिए डिसेरिएलाइज़्ड ऑब्जेक्ट निर्दिष्ट करना होगा
चर।
* -I $ELEMENT: क्रमबद्ध/डीसेरिएलाइज़ किए जा रहे ऑब्जेक्ट के तत्व का नाम।
* $नामस्थान: क्रमबद्ध/डीसेरिएलाइज़ किए जा रहे ऑब्जेक्ट के तत्व का नामस्थान।
* $सदस्य: सदस्य का नाम क्रमबद्ध/अक्रमांकित किया जा रहा है। केवल "सदस्य" में मान्य
संदर्भ।
हुक उदाहरण
निम्नलिखित उदाहरण किसी के डिसेरिएलाइज़ेशन के बाद एक मान्य विधि में एक कॉल जोड़ता है
वस्तु:
System.Xml.Schema.XmlSchema.Validate$TYPE ($वस्तु);
यह उदाहरण XmlSchema क्लास को डिसेरिएलाइज़ करने के लिए उपयोग किए जाने वाले कोड को निर्दिष्ट करता है:
System.Xml.Schema.XmlSchema
$OBJECT = System.Xml.Schema.XmlSchema.Read (रीडर, शून्य);
वह XmlSchema उदाहरणों को पढ़ने के लिए उपयोग किए जाने वाले कोड को निर्दिष्ट करता है:
System.Xml.Schema.XmlSchema
$OBJECT.लिखें (लेखक);
इन दो हुक के साथ सीरिएलाइज़र कक्षा को क्रमबद्ध करते समय कुछ जानकारी प्रिंट करेगा
"मेरी कक्षा":
MyNamespace.MyClass
कंसोल.राइटलाइन ("सीरियलाइज़िंग माईक्लास");
कंसोल.राइटलाइन ("माईक्लास क्रमबद्ध");
MyNamespace.MyClass
कंसोल.राइटलाइन ("क्रमबद्ध सदस्य $सदस्य");
यह हुक उन सभी प्रकारों के लिए एक अतिरिक्त तत्व लिखता है जिनमें कस्टम विशेषता होती है
"माईएट्रिब्यूट":
MyNamespace.MyAttribute
राइटर.राइटस्टार्टएलिमेंट ("प्राइवेटडेटा");
राइटर.राइटस्ट्रिंग ($ OBJECT.PrivateData);
राइटर.राइटएंडएलिमेंट ();
विन्यास फ़ाइल उदाहरण
यह कॉन्फ़िगरेशन फ़ाइल है जिसका उपयोग ServiceDescription के लिए क्रमांकन उत्पन्न करने के लिए किया जाता है:
सेवा विवरण रीडरबेस
सेवा विवरण राइटर बेस
सिस्टम.वेब.सेवाएँ.विवरण
ServiceDescriptionSerializerBase.cs
System.Web.Services.Configuration.XmlFormatExtensionPointAttribute
ServiceDescription.ReadExtension (रीडर, $OBJECT);
System.Xml.Schema.XmlSchema
$OBJECT = System.Xml.Schema.XmlSchema.Read (रीडर, शून्य);
System.Web.Services.Configuration.XmlFormatExtensionPointAttribute
ServiceDescription.WriteExtensions (लेखक, $OBJECT);
System.Xml.Schema.XmlSchema
$OBJECT.लिखें (लेखक);
लेखक
लुईस सांचेज़ गुआल ([ईमेल संरक्षित])
onworks.net सेवाओं का उपयोग करके ऑनलाइन genxs का उपयोग करें