In VBScript, è possibile utilizzare determinate classi .net utilizzando l'automazione COM. Questo è utile quando si desidera utilizzare matrici dinamiche, elenchi, code ecc.È possibile ottenere un'istanza di oggetto stringa .Net in VBScript?
Sarebbe bello se potessi usare le stringhe come oggetti, quindi potrei fare all fancy string stuff con esso, ma ogni volta che passo una stringa da un altro oggetto , si è visto da VBScript come una stringa letterale e non come un oggetto stringa:
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
creando anche una stringa come un oggetto COM non funziona:
Set s = CreateObject("System.String") ' Nope.
c'è qualcuno che ha la gestione questo, o ha altri pensieri a riguardo?
Si dovrebbe considerare la possibilità di esaminare PowerShell. –
String come l'oggetto che si conosce da .NET non è disponibile in VBScript. Dovresti ricorrere alle funzioni VBScript standard (len, lcase, ucase, ecc.). –
Non possibile. L'interoperabilità COM incorporata nel CLR lo * convertirà * sempre in un BSTR, il tipo di stringa COM. La chiamata CreateObject non riesce perché System.String non ha un costruttore parametrico. –