Let’s start off by explaining the situation by creating an array.
$myArray = 1, 2, 3, 4
If I execute $myArray | Get-Member
I get the member information for the integer objects in the array:
TypeName: System.Int32
Name | MemberType | Definition |
CompareTo | Method | int … |
Equals | Method | bool … |
GetHashCode | Method | int … |
GetType | Method | type GetType … |
GetTypeCode | Method | System.TypeCode GetTypeCode() … |
ToString | Method | string … |
However, If I execute $MyArray.count, I get a value of 4. Where did this count property come from? By looking at the members above, the count property is not listed. The Count property can from the object of the array, not the objects contained in the array. To see the members of the object array, type:
Get-Member -InputObject $MyArray
This will give you the members of the object of $MyArray. Below is a listing of what you will receive.
Name MemberType
---- ----------
Count AliasProperty
Address Method
Clone Method
CopyTo Method
Equals Method
Get Method
GetEnumerator Method
GetHashCode Method
GetLength Method
GetLongLength Method
GetLowerBound Method
GetType Method
GetUpperBound Method
GetValue Method
Initialize Method
Set Method
SetValue Method
ToString Method
IsFixedSize Property
IsReadOnly Property
IsSynchronized Property
Length Property
LongLength Property
Rank Property
SyncRoot Property
You can see that there is an aliased property called Count. It is a alias for the Length property. Below is an excerpt from the Get-Member help file.
-InputObject <psobject>
Specifies the object whose members are retrieved.
Using the InputObject parameter is not the same as piping an object to Get-Member. The differences are as follows:
-- When you pipe a collection of objects to Get-Member, Get-Member gets the members of the individual objects in the collection, such as the properties of the integers in an array of integers.
-- When you use InputObject to submit a collection of objects, Get-Member gets the members of the collection, such as the properties of the array in an array of integers.
Comments