当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 扩展类型系统类方法

作者:精品下载站 日期:2024-12-14 20:29:28 浏览:15 分类:玩电脑

扩展类型系统类方法


ETS 方法是可以接受参数、可以返回结果并且不能出现在表达式左侧的成员。 ETS 中可用的方法包括代码、Windows PowerShell 和脚本方法。

笔记

从脚本中,可以使用与其他成员相同的语法访问方法,并在方法名称末尾添加括号。

代码方法

代码方法是用 CLR 语言定义的扩展成员。它提供与基础对象上定义的方法类似的功能;然而,代码方法可以动态地添加到PSObject对象中。为了使代码方法可用,开发人员必须使用某种 CLR 语言编写属性、编译并传送生成的程序集。该程序集必须在需要代码方法的运行空间中可用。请注意,代码方法实现必须是线程安全的。对这些方法的访问是通过 PSCodeMethod 对象完成的,该对象提供以下公共方法和属性。

  • PSCodeMethod.Copy 方法:制作 PSCodeMethod 对象的精确副本。
  • PSCodeMethod.Invoke(System.Object[]) 方法:调用底层代码方法。
  • PSCodeMethod.ToString 方法:将 PSCodeMethod 对象转换为字符串。
  • PSCodeMethod.CodeReference 属性:获取代码方法所基于的底层方法。
  • PSMemberInfo.IsInstance 属性:获取指示成员来源的布尔值。
  • PSCodeMethod.MemberType 属性:获取一个 PSMemberTypes.CodeMethod 枚举常量,该常量将此方法标识为代码方法。
  • PSMemberInfo.Name 属性:获取底层代码方法的名称。
  • PSCodeMethod.OverloadDefinitions 属性:获取底层代码方法的所有重载的定义。
  • PSCodeMethod.TypeNameOfValue 属性:获取代码方法的全名。
  • PSMemberInfo.Value 属性:获取 PSCodeMethod 对象。

Windows PowerShell 方法

PowerShell 方法是在基础对象上定义的 CLR 方法,或者可以通过适配器访问。对这些方法的访问是通过提供以下公共方法和属性的 PSMethod 对象完成的。

  • PSMethod.Copy 方法:制作 PSMethod 对象的精确副本。
  • PSMethod.Invoke(System.Object[]) 方法:调用底层方法。
  • PSMethod.ToString 方法:将 PSMethod 对象转换为字符串。
  • PSMemberInfo.IsInstance 属性:获取一个 Boolean 值,该值指示成员的来源。
  • PSMethod.MemberType 属性:获取一个 PSMemberTypes.Method 枚举常量,该常量将此方法标识为 PowerShell 方法。
  • PSMemberInfo.Name 属性:获取基础方法的名称。
  • PSMethod.OverloadDefinitions 属性:获取底层方法的所有重载的定义。
  • PSMethod.TypeNameOfValue 属性:获取此方法的 ETS 类型。
  • PSMemberInfo.Value 属性:获取 PSMethod 对象。

脚本方法

脚本方法是用 PowerShell 语言定义的扩展成员。它提供与基础对象上定义的方法类似的功能;然而,脚本方法可以动态添加到PSObject对象中。对这些方法的访问是通过 PSScriptMethod 对象完成的,该对象提供以下公共方法和属性。

  • PSScriptMethod.Copy 方法:制作 PSScriptMethod 对象的精确副本。
  • PSScriptMethod.Invoke(System.Object[]) 方法:调用底层脚本方法。
  • PSScriptMethod.ToString 方法:将 PSScriptMethod 对象转换为字符串。
  • PSMemberInfo.IsInstance 属性:获取一个 Boolean 值,该值指示成员的来源。
  • PSScriptMethod.MemberType 属性:获取一个 PSMemberTypes.ScriptMethod 枚举常量,该常量将此方法标识为脚本方法。
  • PSMemberInfo.Name 属性:获取底层代码方法的名称。
  • PSScriptMethod.OverloadDefinitions 属性:获取底层脚本方法的所有重载的定义。
  • PSScriptMethod.TypeNameOfValue 属性:获取此方法的 ETS 类型。
  • PSScriptMethod.Script 属性:获取用于调用该方法的脚本。
  • PSMemberInfo.Value 属性:获取 PSScriptMethod 对象。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯