यह PowerShell में विस्तार विधि लिखने के लिए संभव है? या किसी मौजूदा प्रकार के शीर्ष पर [स्ट्रिंग] रनटाइम पर लाइव पर एक नई विधि बोल्ट करने के लिए?PowerShell, एक्सटेंशन के तरीके, और बंदर पट्टी
उत्तर
मैं एक विस्तार विधि के साथ एक प्रकार पैच करने के लिए एक तरह से के बारे में पता नहीं है। लेकिन यह निश्चित रूप ऐड-सदस्य cmdlet के माध्यम से एक वस्तु पैच करने के लिए
PS> $a = "foo"
PS> $a = add-member -in $a -memberType ScriptMethod -name Bar -value { $this + "bar" } -passthru
PS> $a.Foo()
foobar
संपादित के बारे में बताएं पूरी तरह से और पूरी तरह से पठनीय PowerShell सिंटेक्स :)
मैं PowerShell प्यार लेकिन यह वास्तव में गुप्त वाक्य रचना किस प्रकार लाता है संभव है समय समय पर।
- "-इन": यह inputObject के लिए कम है और अनिवार्य रूप से इस
- "-memberType" के सदस्य जोड़ने का कहना है: आप के तरीकों, टिप्पणी गुण सहित एक क्रम वस्तु को जोड़ सकते हैं मूल्यों के कई अलग अलग प्रकार के होते हैं , कोड विधि, आदि ... देखें "मिल-मदद जोड़ने सदस्यीय -full" एक पूरी सूची
- "-passthru" के लिए: उद्देश्य यह है कि सिर्फ एक सदस्य था यह करने के लिए जोड़ा लें और इसे नीचे धक्का पाइप लाइन। इस ध्वज के बिना असाइनमेंट
$a
पर असाइनमेंट और खाली पाइपलाइन असाइन करेगा। - काम कॉल मूल रूप से यह सुनिश्चित करना है
$a
अब विधि आप
जोड़ा आप एक विधि या संपत्ति आप एक विशेष प्रकार में जोड़ना चाहते हैं है, तो आप PowerShell के अनुकूली प्रकार के माध्यम से एक कस्टम प्रकार एक्सटेंशन बना सकते है प्रणाली।
एक कस्टम प्रकार विस्तार एक एक XML फ़ाइल है कि एक प्रकार के संपत्ति या स्क्रिप्ट विधि का वर्णन करता है और उसके बाद अद्यतन-TypeData cmdlet के माध्यम से PowerShell सत्र में इसे लोड है।
इस का एक महान उदाहरण PowerShell Team Blog - Hate Add-Member? (PowerShell's Adaptive Type System to the Rescue)
हां, यह मूल पोस्टर का उत्तर है। – JasonMArcher
मैंने इस विधि पर ठोकर खाई। निश्चित नहीं। मैं PowerShell बनाम एक्सएमएल में जितना कर सकता हूं उतना रखना चाहता हूं। हममम। मुझे लगता है कि अगर मैं बहुत कुछ करता हूं और बहुत सारे "मोड" करता हूं तो मैं इस विधि का उपयोग करूंगा। – BuddyJoe
- 1. VB.NET एक्सटेंशन के तरीके
- 2. आभासी एक्सटेंशन के तरीके
- 3. LINQ तरीके एक्सटेंशन तरीके हैं?
- 4. मानक तरीके बनाम एक्सटेंशन के तरीके
- 5. एक्सटेंशन के तरीके तत्काल खिड़की
- 6. opendir(), readdir() और बंदर()
- 7. "फ़ज़ परीक्षण" और "बंदर परीक्षण"
- 8. गीवेंट बंदर-पैचिंग और ब्रेकपॉइंट्स
- 9. VB.NET वाक्य रचना और स्ट्रिंग एक्सटेंशन के तरीके
- 10. एंड्रॉयड बंदर
- 11. अजगर बंदर
- 12. "कॉपी के दौरान पट्टी डीबग प्रतीक" और "पट्टी लिंक्ड उत्पाद"
- 13. $ के बीच अंतर? और PowerShell
- 14. (बंदर) पैच या नहीं (बंदर) पैच, यह प्रश्न
- 15. PowerShell 3
- 16. PowerShell
- 17. बंदर एंड्रॉयड एमुलेटर
- 18. एंड्रॉयड बंदर धावक लिपियों
- 19. पट्टी खाली स्थान के और जावा
- 20. बंदर पैचिंग बनाम class_eval?
- 21. एक और PowerShell सत्र
- 22. सशर्त निष्पादन (&& और ||) powershell
- 23. regex और Powershell
- 24. इंडेक्सर्स के लिए एक्सटेंशन तरीके, क्या वे अच्छे होंगे?
- 25. डेकोरेटर पैटर्न और विस्तार के तरीके
- 26. बंदर-पैच या नहीं करने के लिए?
- 27. एंड्रॉइड बंदर स्वचालित करने के लिए विचार
- 28. cocos2d में प्रगति पट्टी को कैसे बनाएं और सही तरीके से अपडेट करें?
- 29. PowerShell
- 30. प्रकार का बंदर एपीआई Templating
+1 पर पाया जा सकता आप एक छोटे से वाक्य रचना पर विस्तृत किया जा सका। $ ए = एड-सदस्य थोड़ा अजीब दिखता है और -और -स्पस्थु स्विच क्या करता है? – BuddyJoe
@Tyndall, टिप्पणियों के साथ अपडेट – JaredPar
धन्यवाद जेरेडपर – BuddyJoe