Objektumtulajdonságok kiterjesztéseExtending Properties for Objects

A .NET-keretrendszer objektumainak kiterjesztésekor alias-tulajdonságokat, kód-tulajdonságokat, Megjegyzés-tulajdonságokat, parancsfájl-tulajdonságokat és tulajdonság-készleteket adhat hozzá az objektumokhoz.When you extend .NET Framework objects, you can add alias properties, code properties, note properties, script properties, and property sets to the objects. A tulajdonságokat definiáló XML-t a következő szakaszokban ismertetjük.The XML that defines these properties is described in the following sections.

Megjegyzés

A következő szakaszban szereplő példák a Types.ps1xml PowerShell telepítési könyvtárában () lévő alapértelmezett típusok fájlból származnak $PSHOME .The examples in the following sections are from the default Types.ps1xml types file in the PowerShell installation directory ($PSHOME). További információ: Tudnivalók a Types.ps1XML-ről.For more information, see About Types.ps1xml.

Alias tulajdonságaiAlias properties

Az alias tulajdonság új nevet definiál egy meglévő tulajdonsághoz.An alias property defines a new name for an existing property.

A következő példában a Count tulajdonság a System. Array típushoz lesz hozzáadva.In the following example, the Count property is added to the System.Array type. A AliasProperty elem a kiterjesztett tulajdonságot alias tulajdonságként határozza meg.The AliasProperty element defines the extended property as an alias property. A név elem az új nevet adja meg.The Name element specifies the new name. A ReferencedMemberName elem pedig az alias által hivatkozott meglévő tulajdonságot határozza meg.And, the ReferencedMemberName element specifies the existing property that is referenced by the alias. Az AliasProperty elemet a MemberSets elem tagjaihoz is hozzáadhatja.You can also add the AliasProperty element to the members of the MemberSets element.

<Type>
  <Name>System.Array</Name>
  <Members>
    <AliasProperty>
      <Name>Count</Name>
      <ReferencedMemberName>Length</ReferencedMemberName>
    </AliasProperty>
  </Members>
</Type>

Kód tulajdonságaiCode properties

A Code tulajdonság a .NET-keretrendszer objektumának statikus tulajdonságára hivatkozik.A code property references a static property of a .NET Framework object.

A következő példában a Mode tulajdonság a System. IO. DirectoryInfo típushoz lesz hozzáadva.In the following example, the Mode property is added to the System.IO.DirectoryInfo type. A CodeProperty elem a kiterjesztett tulajdonságot kód tulajdonságként határozza meg.The CodeProperty element defines the extended property as a code property. A Name (név ) elem a kiterjesztett tulajdonság nevét adja meg.The Name element specifies the name of the extended property. A GetCodeReference elem pedig a kiterjesztett tulajdonság által hivatkozott statikus metódust határozza meg.And, the GetCodeReference element defines the static method that is referenced by the extended property. Az CodeProperty elemet a MemberSets elem tagjaihoz is hozzáadhatja.You can also add the CodeProperty element to the members of the MemberSets element.

<Type>
  <Name>System.IO.DirectoryInfo</Name>
  <Members>
    <CodeProperty>
      <Name>Mode</Name>
      <GetCodeReference>
        <TypeName>Microsoft.PowerShell.Commands.FileSystemProvider</TypeName>
        <MethodName>Mode</MethodName>
      </GetCodeReference>
    </CodeProperty>
  </Members>
</Type>

Megjegyzés tulajdonságaiNote properties

A Megjegyzés tulajdonság olyan tulajdonságot határoz meg, amely statikus értékkel rendelkezik.A note property defines a property that has a static value.

A következő példában az állapot tulajdonság, amelynek értéke mindig sikeres , a rendszer HOZZÁADJA a System. IO. DirectoryInfo típushoz.In the following example, the Status property, whose value is always Success , is added to the System.IO.DirectoryInfo type. A NoteProperty elem jegyzet tulajdonságként definiálja a kiterjesztett tulajdonságot.The NoteProperty element defines the extended property as a note property. A Name (név ) elem a kiterjesztett tulajdonság nevét adja meg.The Name element specifies the name of the extended property. Az Value elem megadja a kiterjesztett tulajdonság statikus értékét.The Value element specifies the static value of the extended property. Az NoteProperty elemet a MemberSets elem tagjai is hozzáadhatják.The NoteProperty element can also be added to the members of the MemberSets element.

<Type>
  <Name>System.IO.DirectoryInfo</Name>
  <Members>
    <NoteProperty>
      <Name>Status</Name>
      <Value>Success</Value>
    </NoteProperty>
  </Members>
</Type>

Parancsfájl tulajdonságaiScript properties

A script tulajdonság egy olyan tulajdonságot határoz meg, amelynek értéke egy parancsfájl kimenete.A script property defines a property whose value is the output of a script.

A következő példában a VersionInfo tulajdonság hozzá lesz adva a System. IO. fileinfo típushoz.In the following example, the VersionInfo property is added to the System.IO.FileInfo type. A ScriptProperty elem a kiterjesztett tulajdonságot parancsfájl-tulajdonságként határozza meg.The ScriptProperty element defines the extended property as a script property. A Name (név ) elem a kiterjesztett tulajdonság nevét adja meg.The Name element specifies the name of the extended property. A GetScriptBlock elem pedig azt a parancsfájlt adja meg, amely a tulajdonság értékét hozza létre.And, the GetScriptBlock element specifies the script that generates the property value. Az ScriptProperty elemet a MemberSets elem tagjaihoz is hozzáadhatja.You can also add the ScriptProperty element to the members of the MemberSets element.

<Type>
  <Name>System.IO.FileInfo</Name>
  <Members>
    <ScriptProperty>
      <Name>VersionInfo</Name>
      <GetScriptBlock>
        [System.Diagnostics.FileVersionInfo]::GetVersionInfo($this.FullName)
      </GetScriptBlock>
    </ScriptProperty>
  </Members>
</Type>

Tulajdonságok készleteiProperty sets

A tulajdonság egy olyan kiterjesztett tulajdonságok egy csoportját határozza meg, amelyet a készlet neve is hivatkozhat.A property set defines a group of extended properties that can be referenced by the name of the set. A Format-Table tulajdonság paraméter például megadhatja a megjelenítendő tulajdonságot.For example, the Format-Table Property parameter can specify a specific property set to be displayed. Ha meg van adva egy tulajdonság, a rendszer csak a készlethez tartozó tulajdonságokat jeleníti meg.When a property set is specified, only those properties that belong to the set are displayed.

Az objektumhoz definiálható tulajdonságértékek száma nincs korlátozva.There's no restriction on the number of property sets that can be defined for an object. Az objektumok alapértelmezett megjelenítési tulajdonságainak definiálásához használt tulajdonságokat azonban meg kell adni az PSStandardMembers -tag készletében.However, the property sets used to define the default display properties of an object must be specified within the PSStandardMembers member set. A Types.ps1xml types (típusok) fájlban az alapértelmezett tulajdonságértékek nevei a következők: DefaultDisplayProperty , DefaultDisplayPropertySet és DefaultKeyPropertySet .In the Types.ps1xml types file, the default property set names include DefaultDisplayProperty , DefaultDisplayPropertySet , and DefaultKeyPropertySet . A rendszer figyelmen kívül hagyja a PSStandardMembers -tagokhoz hozzáadott további tulajdonságokat.Any additional property sets that you add to the PSStandardMembers member set are ignored.

A következő példában a DefaultDisplayPropertySet tulajdonság be van adva a System. Serviceprocess. ServiceController típus PSStandardMembers -tagjához.In the following example, the DefaultDisplayPropertySet property set is added to the PSStandardMembers member set of the System.Serviceprocess.Servicecontroller type. A PropertySet elem a tulajdonságok csoportját határozza meg.The PropertySet element defines the group of properties. A Name (név ) elem a beállított tulajdonság nevét adja meg.The Name element specifies the name of the property set. A és a ReferencedProperties elem a készlet tulajdonságait határozza meg.And, the ReferencedProperties element specifies the properties of the set. Az PropertySet elemet a Type elem tagjaihoz is hozzáadhatja.You can also add the PropertySet element to the members of the Type element.

<Type>
  <Name>System.ServiceProcess.ServiceController</Name>
  <Members>
    <MemberSet>
      <Name>PSStandardMembers</Name>
      <Members>
        <PropertySet>
           <Name>DefaultDisplayPropertySet</Name>
           <ReferencedProperties>
            <Name>Status</Name
            <Name>Name</Name>
            <Name>DisplayName</Name>
          </ReferencedProperties>
        </PropertySet>
      </Members>
    </MemberSet>
  </Members>
</Type>

Lásd mégSee also

Tudnivalók a Types.ps1XML-rőlAbout Types.ps1xml

System. Management. AutomationSystem.Management.Automation

Windows PowerShell-parancsmag írásaWriting a Windows PowerShell Cmdlet