वीबीस्क्रिप्ट में, आप COM स्वचालन का उपयोग कर कुछ .NET कक्षाओं का उपयोग कर सकते हैं। जब आप गतिशील सरणी, सूचियां, कतार इत्यादि का उपयोग करना चाहते हैं तोक्या वीबीस्क्रिप्ट में .NET स्ट्रिंग ऑब्जेक्ट इंस्टेंस प्राप्त करना संभव है?
यह अच्छा होगा अगर मैं वस्तुओं के रूप में तारों का उपयोग कर सकूं, इसलिए मैं all fancy string stuff कर सकता हूं, लेकिन जब भी मैं किसी अन्य ऑब्जेक्ट से स्ट्रिंग पास करता हूं
Set s = CreateObject("System.Text.StringBuilder")
s.Append_3 "I love deadlines. I like the whooshing sound they make as they fly by."
' This gives me the literal string
MsgBox s.ToString
text = s.ToString
' But unfortunately this won't work
MsgBox s.ToString.Length
Set stringRef = s.ToString
इसके अलावा एक COM वस्तु के रूप में एक स्ट्रिंग बनाने से काम नहीं चलेगा:
Set s = CreateObject("System.String") ' Nope.
वहाँ कोई है जो प्रबंधन कैसे किया है, यह एक शाब्दिक स्ट्रिंग के रूप में और नहीं एक स्ट्रिंग वस्तु के रूप में VBScript द्वारा देखा जाता है यह, या इसके बारे में अन्य विचार है?
आपको शक्तियों को देखने पर विचार करना चाहिए। –
स्ट्रिंग जो ऑब्जेक्ट से पता है .NET से VBScript में उपलब्ध नहीं है। आपको मानक वीबीस्क्रिप्ट फ़ंक्शंस (लेन, लेंस, यूकेस इत्यादि) का सहारा लेना होगा। –
संभव नहीं है। सीएलआर में निर्मित COM इंटरऑप * हमेशा * इसे एक BSTR, COM स्ट्रिंग प्रकार में परिवर्तित करेगा। CreateObject कॉल विफल रहता है क्योंकि System.String में पैरामीटर-कम कन्स्ट्रक्टर नहीं है। –