Trong VBScript, bạn có thể sử dụng các lớp .net nhất định bằng cách sử dụng tự động hóa COM. Điều này có ích khi bạn muốn sử dụng mảng động, danh sách, hàng đợi, vvCó thể lấy một đối tượng chuỗi .Net trong VBScript không?
Sẽ tốt hơn nếu tôi có thể sử dụng chuỗi làm đối tượng, vì vậy tôi có thể làm all fancy string stuff với nó, nhưng bất cứ khi nào tôi chuyển chuỗi từ một đối tượng khác , nó được xem bởi VBScript như một chuỗi chữ và không phải là một đối tượng chuỗi:
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
Ngoài việc tạo ra một chuỗi như một đối tượng COM sẽ không làm việc:
Set s = CreateObject("System.String") ' Nope.
có ai đó đã làm quản lý điều này, hoặc đang có những suy nghĩ khác về nó?
Bạn nên cân nhắc xem PowerShell. –
String là đối tượng bạn biết từ .NET không có sẵn trong VBScript. Bạn sẽ phải sử dụng các hàm VBScript chuẩn (len, lcase, ucase, v.v.). –
Không thể. COM interop được tích hợp vào CLR sẽ luôn * chuyển đổi nó thành BSTR, kiểu chuỗi COM. Cuộc gọi CreateObject không thành công vì System.String không có hàm tạo tham số-ít. –