এটি হল কমান্ড genxs যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।
কার্যক্রম:
NAME এর
genxs - মনোর এক্সএমএল সিরিয়ালাইজার জেনারেটর
সাইনোপিসিস
genxs কনফিগারেশন ফাইল [গন্তব্য ফোল্ডার]
বর্ণনাঃ
genxs ক্লাসের জন্য কাস্টম XML সিরিয়ালাইজেশন লেখক এবং পাঠক তৈরি করার জন্য একটি টুল।
কনফিগারেশন ফাইল কনফিগারেশন ফাইল যা বিভিন্ন তথ্য নির্দিষ্ট করে, যেমন
ক্লাস যার জন্য পাঠক এবং লেখক তৈরি করতে হবে, ক্লাসের নাম এবং নামস্থান
তৈরি করতে, এবং প্রয়োগ করার জন্য হুকগুলির একটি সংগ্রহ। হুক ব্যবহার করে এটা সম্ভব
উত্পন্ন ফাইল পরিবর্তন করার প্রয়োজন ছাড়াই সিরিয়ালাইজারের আচরণ কাস্টমাইজ করুন, তাই
উৎস শ্রেণী পরিবর্তন করা হলে আপনি নিরাপদে এটি পুনরুত্পাদন করতে পারেন।
গন্তব্য ফোল্ডার ফোল্ডারটি নির্দিষ্ট করে যেখানে ফাইলগুলি তৈরি করা হবে।
লক্ষ্য করুন: এই টুলটি শুধুমাত্র মনো রানটাইমে চলে, যেহেতু এটি কিছু অভ্যন্তরীণ ক্লাস ব্যবহার করে না
অন্যান্য রানটাইমে উপলব্ধ।
কনফিগারেশন ফাইল বিন্যাসে
কনফিগারেশন ফাইল হল একটি xml ডকুমেন্ট যা নিম্নলিখিত ব্যাকরণের উপর ভিত্তি করে ("?" মানে
ঐচ্ছিক, "*" 0 বা তার বেশি):
*
নাম ?
নাম ?
নাম ?
নাম ?
?
*
?
*
একটি কনফিগারেশন ফাইলে একাধিক "সিরিয়ালাইজার" উপাদান থাকতে পারে, যার প্রতিটি নির্দিষ্ট করে
ক্লাস যার জন্য বেশ কয়েকটি প্রজন্মের বিকল্প সহ একটি সিরিয়ালাইজার তৈরি করতে হবে। দ্য
উত্স শ্রেণী নিম্নলিখিত বৈশিষ্ট্যগুলিতে নির্দিষ্ট করা হয়েছে:
* শ্রেণী : ক্লাসের নাম (নেমস্পেস সহ)।
* সমাবেশ : সমাবেশের নাম। এটি সম্পূর্ণ পথ অন্তর্ভুক্ত করতে পারে।
প্রজন্মের বিকল্পগুলি শিশু উপাদানগুলিতে নির্দিষ্ট করা হয়েছে:
* পাঠক : পাঠক শ্রেণীর নাম।
* কোন পাঠক : যদি "সত্য", এটি পাঠক শ্রেণী তৈরি করে না।
* লেখক : লেখক শ্রেণীর নাম।
* বেস সিরিয়ালাইজার : বেস xml সিরিয়ালাইজার ক্লাসের নাম। এই আইটেমটি শুধুমাত্র 2.0.
* বাস্তবায়ন : সিরিয়ালাইজার বাস্তবায়ন ক্লাসের নাম। এই আইটেমটি শুধুমাত্র 2.0.
* noWriter : যদি "সত্য" হয়, তবে এটি লেখক শ্রেণী তৈরি করে না।
* নামস্থান : পাঠক এবং লেখক শ্রেণীর নামস্থান।
* অভ্যন্তরীণ হিসাবে তৈরি করুন : যদি "সত্য", এটি অভ্যন্তরীণ হিসাবে ক্লাস তৈরি করে।
* outFileName : উত্পন্ন ফাইলের নাম।
* পাঠক হুকস : পাঠকের কাছে প্রয়োগ করার জন্য হুকগুলির একটি তালিকা৷
* লেখক হুকস : লেখকের কাছে আবেদন করার জন্য হুকের একটি তালিকা।
নির্দিষ্ট করা আঙ্গুলসমূহ
হুক ব্যবহার করে আপনি পাঠক এবং লেখকদের আচরণ কাস্টমাইজ করতে পারেন। একটি হুক স্পেসিফিকেশন
এই ব্যাকরণ অনুসরণ করে:
?
নাম ?
নাম *
নাম ?
সোর্স কোড ?
সোর্স কোড ?
সোর্স কোড ?
"টাইপ" অ্যাট্রিবিউটটি সেই প্রেক্ষাপটকে নির্দিষ্ট করে যেখানে হুক প্রয়োগ করা হয়েছে। এটি একটি হতে পারে
অনুসরণ:
* বৈশিষ্ট্যাবলী : হুক প্রয়োগ করা হয় যেখানে গুণাবলী ক্রমিক/ডিসারিয়ালাইজ করা হয়।
* উপাদান : হুক প্রয়োগ করা হয় যেখানে উপাদানগুলি ক্রমিক/ডিসারিয়ালাইজ করা হয়।
* অজানা বৈশিষ্ট্য : হুক প্রয়োগ করা হয় যেখানে অজানা বৈশিষ্ট্যগুলি প্রক্রিয়া করা হয়।
* অজানা উপাদান : হুক প্রয়োগ করা হয় যেখানে অজানা উপাদান প্রক্রিয়া করা হয়।
* সদস্য : হুক প্রয়োগ করা হয় যেখানে একজন সদস্যকে ক্রমিক/ডিসারিয়ালাইজ করা হয়।
* আদর্শ : হুক পুরো ধরনের জন্য প্রয়োগ করা হয়.
"নির্বাচন" উপাদানটি ক্লাস এবং সদস্যদের নির্দিষ্ট করে যেখানে হুক যোগ করতে হবে।
এটিতে নিম্নলিখিত উপাদান থাকতে পারে:
* টাইপ নাম : সেই নামের ক্লাসটি নির্বাচন করা হবে (নেমস্পেস অবশ্যই অন্তর্ভুক্ত করতে হবে)
* টাইপ অ্যাট্রিবিউট : যে সমস্ত শ্রেণীতে এই বৈশিষ্ট্যটি প্রয়োগ করা হয়েছে সেগুলি নির্বাচন করা হবে
(নেমস্পেস সহ সম্পূর্ণ বৈশিষ্ট্য শ্রেণীর নাম উল্লেখ করুন)। বেশ কয়েকটি বৈশিষ্ট্যের নাম
নির্দিষ্ট করা যেতে পারে।
* টাইপ মেম্বার : ক্লাস সদস্যের নাম যার জন্য হুক যোগ করতে হবে।
হুক সোর্স কোড নিম্নলিখিত উপাদানগুলির যেকোনো একটি ব্যবহার করে নির্দিষ্ট করা যেতে পারে:
* প্রতিস্থাপন করা : প্রদত্ত সোর্স কোড সমস্ত সিরিয়ালাইজেশন/ডিসিরিয়ালাইজেশন প্রতিস্থাপন করবে
হুক প্রসঙ্গে অপারেশন।
* সন্নিবেশ আগে : হুক প্রসঙ্গের আগে সোর্স কোড যোগ করা হবে।
* পরে সন্নিবেশ করান : হুক প্রসঙ্গের পরে উত্স কোড যোগ করা হবে।
একটি হুকের জন্য কোড লেখার সময় আপনি সংজ্ঞায়িত কিছু বিশেষ ভেরিয়েবল ব্যবহার করতে পারেন
কোড তৈরির প্রক্রিয়া চলাকালীন। ভেরিয়েবলগুলি নিম্নরূপ:
* $TYPE: নামস্থান ছাড়াই তৈরি করা ক্লাসের নাম।
* $FULLTYPE: নামস্থান সহ তৈরি করা ক্লাসের পুরো নাম।
* $অবজেক্ট: বস্তুটি সিরিয়ালাইজড বা ডিসিরিয়ালাইজ করা হচ্ছে। একটি প্রতিস্থাপন পাঠক ব্যবহার করার সময়
"টাইপ" টাইপের হুক, হুক কোডকে অবশ্যই ডিসিরিয়ালাইজড অবজেক্ট বরাদ্দ করতে হবে
পরিবর্তনশীল।
* -I $ELEMENT: অবজেক্টের উপাদানটির নাম যা সিরিয়ালাইজড/ডিসারিয়ালাইজ করা হচ্ছে।
* $NAMESPACE: ক্রমিক/ডিসারিয়ালাইজ করা বস্তুর উপাদানের নামস্থান।
* $MEMBER: যে সদস্যের নাম সিরিয়ালাইজড/ডিসারিয়ালাইজ করা হচ্ছে। শুধুমাত্র "সদস্য" তে বৈধ
প্রসঙ্গ
HOOK উদাহরণ
নিম্নলিখিত উদাহরণটি যেকোনটির ডিসিরিয়ালাইজেশনের পরে একটি যাচাইকরণ পদ্ধতিতে একটি কল যোগ করে
বস্তু:
System.Xml.Schema.XmlSchema.Validate$TYPE ($OBJECT);
এই উদাহরণটি XmlSchema ক্লাসকে ডিসিরিয়ালাইজ করতে ব্যবহার করা কোডটি নির্দিষ্ট করে:
System.Xml.Schema.XmlSchema
$OBJECT = System.Xml.Schema.XmlSchema.Read (রিডার, নাল);
এটি XmlSchema দৃষ্টান্তগুলি পড়ার জন্য ব্যবহার করা কোডটি নির্দিষ্ট করে:
System.Xml.Schema.XmlSchema
$OBJECT.Write (লেখক);
এই দুটি হুক দিয়ে সিরিয়ালাইজার ক্লাস সিরিয়াল করার সময় কিছু তথ্য প্রিন্ট করবে
"আমার ক্লাস":
MyNamespace.MyClass
Console.WriteLine ("Serializing MyClass");
Console.WriteLine ("MyClass ক্রমিককৃত");
MyNamespace.MyClass
Console.WriteLine ("ক্রমিক সদস্য $MEMBER");
এই হুকটি কাস্টম বৈশিষ্ট্যযুক্ত সমস্ত ধরণের জন্য একটি অতিরিক্ত উপাদান লেখে
"MyAttribute":
MyNamespace.MyAttribute
Writer.WriteStartElement ("privateData");
Writer.WriteString ($OBJECT.PrivateData);
Writer.WriteEndElement ();
কনফিগারেশন ফাইল EXAMPLE টি
এটি পরিষেবা বর্ণনার জন্য সিরিয়ালাইজার তৈরি করতে ব্যবহৃত কনফিগারেশন ফাইল:
পরিষেবার বিবরণ রিডারবেস
সার্ভিস ডেসক্রিপশন রাইটারবেস
সিস্টেম.ওয়েব.পরিষেবা.বিবরণ
ServiceDescriptionSerializerBase.cs
System.Web.Services.Configuration.XmlFormatExtensionPointAttribute
ServiceDescription.ReadExtension (Reader, $OBJECT);
System.Xml.Schema.XmlSchema
$OBJECT = System.Xml.Schema.XmlSchema.Read (রিডার, নাল);
System.Web.Services.Configuration.XmlFormatExtensionPointAttribute
ServiceDescription.WriteExtensions (Writer, $OBJECT);
System.Xml.Schema.XmlSchema
$OBJECT.Write (লেখক);
লেখক
লুইস সানচেজ গুয়াল ([ইমেল সুরক্ষিত])
onworks.net পরিষেবা ব্যবহার করে অনলাইনে genxs ব্যবহার করুন