Tôi mới sử dụng Powershell và tôi đang cố gắng tìm hiểu cách in giá trị của biến [ref] từ bên trong một hàm.powershell: cách viết giá trị máy chủ lưu trữ từ [ref] biến
Đây là mã thử nghiệm của tôi:
function testref([ref]$obj1) {
$obj1.value = $obj1.value + 5
write-host "the new value is $obj1"
$obj1 | get-member
}
$foo = 0
"foo starts with $foo"
testref([ref]$foo)
"foo ends with $foo"
Kết quả tôi nhận được từ thử nghiệm này là như sau. Bạn sẽ nhận thấy rằng tôi không nhận được giá trị của $ obj1 như tôi đã hy vọng. Tôi cũng đã cố gắng chuyển qua $ obj1.value trong cuộc gọi tới máy chủ ghi nhưng tạo ra cùng một phản hồi.
PS > .\testref.ps1
foo starts with 0
the new value is System.Management.Automation.PSReference
TypeName: System.Management.Automation.PSReference
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
Value Property System.Object Value {get;set;}
foo ends with 5
Đúng vậy. cảm ơn! – Denis
@Denis - Chấp nhận làm câu trả lời nếu nó giải quyết được vấn đề của bạn! – manojlds
Tôi làm như thế nào? – Denis