Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A parancsmagok, függvények és szkriptek által visszaadott .NET-keretrendszer-objektumokat kiterjesztheti típusfájlok (.ps1xml) használatával. A típusok olyan XML-alapú fájlok, amelyekkel tulajdonságokat és metódusokat adhat hozzá a meglévő objektumokhoz. A Windows PowerShell például a Types.ps1xml fájlt biztosítja, amely elemeket ad hozzá több meglévő .NET-keretrendszer-objektumhoz. A Types.ps1xml fájl a Windows PowerShell telepítési könyvtárában ($PSHOME) található. Létrehozhat saját típusfájlt az objektumok további bővítéséhez vagy más objektumok kiterjesztéséhez. Ha egy objektumot típusok fájl használatával terjeszt ki, az objektum bármely példánya ki lesz terjesztve az új elemekkel.
A System.Array objektum kiterjesztése
Az alábbi példa bemutatja, hogyan terjeszti ki a Windows PowerShell a System.Array objektumot a Types.ps1xml fájlban. Alapértelmezés szerint System.Array objektumok rendelkeznek egy Length tulajdonságmal, amely felsorolja a tömb objektumainak számát. Mivel azonban a "hossz" név nem írja le egyértelműen a tulajdonságot, a Windows PowerShell hozzáadja az Count alias tulajdonságot, amely ugyanazt az értéket jeleníti meg, mint a Length tulajdonság. Az alábbi XML hozzáadja a Count tulajdonságot a System.Array típushoz.
<Type>
<Name>System.Array</Name>
<Members>
<AliasProperty>
<Name>Count</Name>
<ReferencedMemberName>Length</ReferencedMemberName>
</AliasProperty>
</Members>
</Type>
Az új aliastulajdonság megtekintéséhez használjon egy Get-Member parancsot bármelyik tömbön, ahogyan az az alábbi példában látható.
Get-Member -InputObject (1,2,3,4)
A parancs a következő eredményeket adja vissza.
Name MemberType Definition
---- ---------- ----------
Count AliasProperty Count = Length
Address Method System.Object& Address(Int32 )
Clone Method System.Object Clone()
CopyTo Method System.Void CopyTo(Array array, Int32 index):
Equals Method System.Boolean Equals(Object obj)
Get Method System.Object Get(Int32 )
...
Length Property System.Int32 Length {get;}
A Count tulajdonság vagy a Length tulajdonság használatával meghatározhatja, hogy hány objektum található egy tömbben. Például:
PS> (1, 2, 3, 4).Count
4
PS> (1, 2, 3, 4).Length
4
Egyéni típusok fájljai
Egyéni típusok létrehozásához először másolja ki a meglévő típusfájlt. Az új fájlnak bármilyen neve lehet, de .ps1xml fájlnévkiterjesztéssel kell rendelkeznie. A fájl másolásakor az új fájlt bármely, a Windows PowerShell számára elérhető könyvtárba helyezheti, de hasznos lehet a fájlokat a Windows PowerShell telepítési könyvtárában ($PSHOME) vagy a telepítési könyvtár alkönyvtárában elhelyezni.
Ha saját kiterjesztett típusokat szeretne hozzáadni a fájlhoz, adjon hozzá egy típuselemet minden kibővítendő objektumhoz. Az alábbi témakörök példákat mutatnak be.
További információ a tulajdonságok és tulajdonságkészletek hozzáadásáról: Bővített tulajdonságok
A metódusok hozzáadásáról további információt Bővített metódusokcímű témakörben talál.
További információ a tagkészletek hozzáadásáról: Bővített tagkészletek.
Miután definiálta a saját kiterjesztett típusait, az alábbi módszerek egyikével teheti elérhetővé a kiterjesztett objektumokat:
- Ha elérhetővé szeretné tenni a kiterjesztett típusok fájlját az aktuális munkamenetben, használja az Update-TypeData parancsmagot az új fájl hozzáadásához. Ha azt szeretné, hogy a típusok elsőbbséget élvezjenek a más típusú fájlokban (beleértve a Types.ps1xml fájlt) definiált típusokkal szemben, használja az Update-TypeData parancsmag
PrependDataparaméterét. - Ha elérhetővé szeretné tenni a kiterjesztett típusok fájlját az összes jövőbeli munkamenetben, adja hozzá a típusfájlt egy modulhoz, exportálja az aktuális munkamenetet, vagy adja hozzá a Update-TypeData parancsot a Windows PowerShell-profiljához.
Aláírási típusok fájljai
A típusok fájljait digitálisan alá kell írni, hogy megakadályozzák az illetéktelen módosítást, mert az XML tartalmazhat szkriptblokkokat. További információ a digitális aláírások hozzáadásáról: about_Signing
Lásd még:
Objektumok alapértelmezett tulajdonságainak meghatározása
Objektumok alapértelmezett metódusainak definiálása