Aracılığıyla paylaş


Nesnelerin Özelliklerini Genişletme

.NET Framework nesnelerini genişlettiğiniz zaman nesnelere diğer ad özellikleri, kod özellikleri, not özellikleri, betik özellikleri ve özellik kümeleri ekleyebilirsiniz. Bu özellikleri tanımlayan XML aşağıdaki bölümlerde açıklanmıştır.

Uyarı

Aşağıdaki bölümlerdeki örnekler, PowerShell yükleme dizinindeki varsayılan Types.ps1xml türleri dosyasındandır ($PSHOME). Daha fazla bilgi için bkz. Types.ps1xml hakkında .

Diğer ad özellikleri

Diğer ad özelliği, var olan bir özellik için yeni bir ad tanımlar.

Aşağıdaki örnekte, Count özelliği System.Array türüne eklenir. AliasProperty öğesi, genişletilmiş özelliği diğer ad özelliği olarak tanımlar. Adı öğesi yeni adı belirtir. Ayrıca, ReferencedMemberName öğesi, diğer ad tarafından başvuruda bulunan mevcut özelliği belirtir. AliasProperty öğesini MemberSets öğesinin üyelerine de ekleyebilirsiniz.

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

Kod özellikleri

Kod özelliği bir .NET Framework nesnesinin statik özelliğine başvurur.

Aşağıdaki örnekte, Modu özelliği System.IO.DirectoryInfo türüne eklenir. CodeProperty öğesi, genişletilmiş özelliği bir kod özelliği olarak tanımlar. Adı öğesi genişletilmiş özelliğin adını belirtir. Ayrıca GetCodeReference öğesi, genişletilmiş özellik tarafından başvuruda bulunan statik yöntemi tanımlar. CodeProperty öğesini MemberSets öğesinin üyelerine de ekleyebilirsiniz.

<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>

Not özellikleri

Not özelliği, statik değere sahip bir özelliği tanımlar.

Aşağıdaki örnekte, değeri her zaman Başarı olan Durum özelliği, System.IO.DirectoryInfo türüne eklenir. NoteProperty öğesi, genişletilmiş özelliği not özelliği olarak tanımlar. Adı öğesi genişletilmiş özelliğin adını belirtir. Value öğesi, genişletilmiş özelliğin statik değerini belirtir. NoteProperty öğesi, MemberSets öğesinin üyelerine de eklenebilir.

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

Betik özellikleri

Betik özelliği, değeri betiğin çıktısı olan bir özelliği tanımlar.

Aşağıdaki örnekte, VersionInfo özelliği System.IO.FileInfo türüne eklenir. ScriptProperty öğesi, genişletilmiş özelliği betik özelliği olarak tanımlar. Adı öğesi genişletilmiş özelliğin adını belirtir. GetScriptBlock öğesi, özellik değerini oluşturan betiği belirtir. ScriptProperty öğesini MemberSets öğesinin üyelerine de ekleyebilirsiniz.

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

Özellik kümeleri

Özellik kümesi, kümenin adıyla başvurulabilen bir grup genişletilmiş özellik tanımlar. Örneğin, Biçim-TabloÖzelliği parametresi görüntülenecek belirli bir özellik kümesi belirtebilir. Bir özellik kümesi belirtildiğinde, yalnızca kümeye ait olan özellikler görüntülenir.

Bir nesne için tanımlanabilen özellik kümesi sayısında bir kısıtlama yoktur. Ancak, bir nesnenin varsayılan görüntüleme özelliklerini tanımlamak için kullanılan özellik kümeleri, PSStandardMembers üye kümesi içinde belirtilmelidir. Types.ps1xml türleri dosyasında, varsayılan özellik kümesi adları DefaultDisplayProperty , DefaultDisplayPropertySetve DefaultKeyPropertySetiçerir. PSStandardMembers üye kümesine eklediğiniz tüm ek özellik kümeleri yoksayılır.

Aşağıdaki örnekte, DefaultDisplayPropertySet özellik kümesi, System.ServiceProcess.ServiceController türünün PSStandardMembers üye kümesine eklenir. PropertySet öğesi, özellik grubunu tanımlar. Adı öğesi özellik kümesinin adını belirtir. Ayrıca ReferencedProperties öğesi kümenin özelliklerini belirtir. PropertySet öğesini Türü öğesinin üyelerine de ekleyebilirsiniz.

<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>

Ayrıca bkz.

Types.ps1xml Hakkında

System.Management.Automation

Windows PowerShell Cmdlet'i yazma