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

[玩转系统] 扩展类型系统属性

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

扩展类型系统属性


属性是可以被视为属性的成员。本质上,它们可以出现在表达式的左侧。可用的属性包括别名、代码、注释和脚本属性。

别名属性

别名属性是引用 PSObject 对象包含的另一个属性的属性。它主要用于重命名引用的属性。但是,它也可用于将引用的属性的值转换为另一种类型。对于 ETS,此类属性始终是扩展成员,并由 PSAliasProperty 类定义。该类包括以下属性。

  • ConversionType 属性:用于转换引用成员值的 CLR 类型。
  • IsGettable 属性:指示是否可以检索引用的属性的值。该属性是通过检查所引用属性的 IsGettable 属性动态确定的。
  • IsSettable 属性:指示是否可以设置所引用属性的值。该属性是通过检查所引用属性的 IsSettable 属性动态确定的。
  • MemberType 属性:AliasProperty 枚举常量,将此属性定义为别名属性。
  • ReferencedMemberName 属性:此别名引用的引用属性的名称。
  • TypeNameOfValue 属性:所引用属性值的 CLR 类型的完整名称。
  • Value 属性:引用属性的值。

代码属性

代码属性是用 CLR 语言定义的 getter 和 setter 属性。为了使代码属性可用,开发人员必须使用某种 CLR 语言编写该属性、编译并传送生成的程序集。该程序集必须在需要代码属性的运行空间中可用。对于 ETS,这种类型的属性始终是扩展成员,并由 PSCodeProperty 类定义。该类包括以下属性。

  • GetterCodeReference属性:用于获取code属性值的方法。
  • IsGettable属性:表示是否可以检索code属性的值,SetterCodeReference属性:用于设置code属性值的方法。
  • IsSettable 属性:指示是否可以设置 code 属性的值,即 SetterCodeReference 属性不为 null。
  • MemberType 属性:CodeProperty 枚举常量,将此属性定义为代码属性。
  • SetterCodeReference属性:用于获取code属性值的方法。
  • TypeNameOfValue 属性:属性 get 操作返回的代码属性值的 CLR 类型。
  • Value 属性:代码属性的值。检索此属性时,将调用 GetterCodeReference 属性中的 getter 代码,传递当前的 PSObject 对象并返回调用返回的值。设置此属性后,将调用 SetterCodeReference 属性中的 setter 代码,将当前 PSObject 对象作为第一个参数传递,并将用于设置值的对象作为第二个参数传递争论。

注意属性

Note 属性是具有名称/值对的属性。对于 ETS,这种类型的属性始终是扩展成员,并由 PSNoteProperty 类定义。该类包括以下属性。

  • IsGettable 属性:指示是否可以检索注释属性的值。
  • IsSettable 属性:指示是否可以设置注释属性的值。
  • MemberType 属性:NoteProperty 枚举常量,将此属性定义为注释属性。
  • TypeNameOfValue 属性:note 属性的 get 操作返回的对象的完全限定类型名称。
  • :注释属性的值。

PowerShell 属性

PowerShell 属性是在基础对象上定义的属性或通过适配器提供的属性。它可以引用 CLR 字段以及 CLR 属性。对于 ETS,这种类型的属性可以是基成员或适配器成员,并且由 PSProperty 类定义。该类包括以下属性。

  • IsGettable 属性:指示是否可以检索基本属性或适配属性的值。
  • IsSettable 属性:指示是否可以设置基本属性或适配属性的值。
  • MemberType 属性:属性枚举常量,将此属性定义为 PowerShell 属性。
  • TypeNameOfValue 属性:属性值类型的完全限定名称。例如,对于值为字符串的属性,其属性值类型为System.String
  • 属性:属性的值。如果对不支持该操作的属性调用 get 或 set 操作,则会引发 GetValueExceptionSetValueException 异常

PowerShell 脚本属性

脚本属性是具有 getter 和 setter 脚本的属性。对于 ETS,这种类型的属性始终是扩展成员,并由 PSScriptProperty 类定义。该类包括以下属性。

  • GetterScript 属性:用于检索脚本属性值的脚本。
  • IsGettable 属性:指示 GetterScript 属性是否公开脚本块。
  • IsSettable 属性:指示 SetterScript 属性是否公开脚本块。
  • MemberType 属性:一个 ScriptProperty 枚举常量,将此属性标识为脚本属性。
  • SetterScript属性:用于设置脚本属性值的脚本。
  • TypeNameOfValue 属性:getter 脚本返回的对象的完全限定类型名称。在这种情况下,始终返回System.Object
  • Value 属性:脚本属性的值。 get 调用 getter 脚本并返回提供的值。 Set 调用 setter 脚本。

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

取消回复欢迎 发表评论:

关灯