다음을 통해 공유


개체에 대한 기본 메서드 정의

.NET Framework 개체를 확장하는 경우 개체에 코드 메서드 및 스크립트 메서드를 추가할 수 있습니다. 이러한 메서드를 정의하는 데 사용되는 XML은 다음 섹션에 설명되어 있습니다.

참고

다음 섹션의 예제는 Windows PowerShell Types.ps1xml 설치 디렉터리( )의 형식 파일에 $PSHOME 있습니다. 자세한 내용은 Types.ps1xml 정보를 참조하세요.

코드 메서드

코드 메서드는 .NET Framework 개체의 정적 메서드를 참조합니다.

다음 예제에서는 ToString 메서드가System.Xml 추가됩니다. XmlNode 형식입니다. PSCodeMethod 요소는 확장 메서드를 코드 메서드로 정의합니다. Name 요소는 확장 메서드의 이름을 지정합니다. 또한 CodeReference 요소는 정적 메서드를 지정합니다. PSMemberSets 요소의 멤버에 PSCodeMethod 요소를 추가할 수도 있습니다.

<Type>
  <Name>System.Xml.XmlNode</Name>
  <Members>
    <CodeMethod>
      <Name>ToString</Name>
      <CodeReference>
        <TypeName>Microsoft.PowerShell.ToStringCodeMethods</TypeName>
        <MethodName>XmlNode</MethodName>
      </CodeReference>
    </CodeMethod>
  </Members>
</Type>

스크립트 메서드

스크립트 메서드는 값이 스크립트의 출력인 메서드를 정의합니다. 다음 예제에서는 ConvertToDateTime 메서드가 System.Management.ManagementObject 형식에 추가됩니다. PSScriptMethod 요소는 확장 메서드를 스크립트 메서드로 정의합니다. Name 요소는 확장 메서드의 이름을 지정합니다. 또한 Script 요소는 메서드 값을 생성하는 스크립트를 지정합니다. PSScriptMethod 요소를 PSMemberSets 요소의 멤버에 추가할 수도 있습니다.

<Type>
  <Name>System.Management.ManagementObject</Name>
  <Members>
    <ScriptMethod>
      <Name>ConvertToDateTime</Name>
      <Script>
        [System.Management.ManagementDateTimeConverter]::ToDateTime($args[0])
      </Script>
    </ScriptMethod>
  </Members>
</Type>

추가 정보

Writing a Windows PowerShell Cmdlet(Windows PowerShell Cmdlet 작성)