我有2節課。一個基類和一個子類。我現在想知道位于基類中的所有屬性。
class MyBase
{
[Int64]$BaseAttrib
MyBase([Int64]$BaseAttrib)
{
$this.BaseAttrib = $BaseAttrib
}
}
class MyExtended : MyBase
{
[Int64]$ExtendedAttrib
MyExtended([Int64]$BaseAttrib,[Int64]$ExtendedAttrib) : base($BaseAttrib)
{
$this.ExtendedAttrib = $ExtendedAttrib
}
}
$O1=New-Object -TypeName "MyExtended" -ArgumentList (0,1)
#$o1 | Get-Member -Name "ExtendedAttrib" -MemberType Property
([MyBase]$o1) | Get-Member -Name "ExtendedAttrib" -MemberType Property
([MyBase]$o1).ExtendedAttrib
我原以為最后一行不起作用,因為基類沒有 ExtendedAttrib 屬性。當我執行 get-member 時,它總是回傳子類的串列,而不是基類的串列。
如果我這樣做 ([MyBase]$O1)。IntelliSense 僅顯示在基類中定義的屬性。我怎樣才能得到相同的串列?
謝謝
uj5u.com熱心網友回復:
嘗試 $O1.GetType().BaseType.GetProperties()
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/370392.html
標籤:电源外壳
上一篇:Where-Object不過濾
