PowerShell直接调用。net静态类和方法

  

不是所有。net框架类都可使用新对象来创建,例如,如果你尝试使用新对象创建系统。环境或系统。数学对象,你将收到以下错误消息:

  
 <代码> PS>新对象System.Environment
  新对象:构造函数没有找到。找不到一个适当的构造函数
  System.Environment类型。
  行:1字符:11
  +新对象& lt; & lt; & lt; & lt;System.Environment
  
  PS>新对象System.Math
  新对象:构造函数没有找到。找不到一个适当的构造函数
  System.Math类型。
  行:1字符:11
  +新对象& lt; & lt; & lt; & lt;System.Math  
  

之所以发生这些错误,是因为无法从这些类创建新的对象。这些类是不更改状态的方法和属性的引用库。你无需创建这些类,只需要使用它们。这样的类和方法称为静态类,因为它们不会被创建,销毁或更改。

  

系统。环境类包含关于当前进程工作环境的一般信息,如果是在Windows PowerShell内工作,该进程为powershell.exe。

  

如果尝试通过键入系统。环境)|获取成员来查看此类的详细信息,对象类型将报告为系统。RuntimeType,而不是System.Environment:

  
 <代码> PS>(系统。环境)|获取成员
  TypeName: System.RuntimeType  
  

该类型的使用方式示例如下:

  
 <代码> [System.Environment]::命令行
  [System.Environment]:: OSVersion
  [System.Environment]:: HasShutdownStarted  
  

另外我们还可以使用另外一种静态的类进行数学运算(System.Math)

  
 <代码> PS>[System.Math]:: Sqrt (9)
  3.
  PS>[System.Math]::战俘(2,3)
  8
  PS>[System.Math]::地板(3.3)
  3.
  PS>[System.Math]::地板(-3.3)
  4
  PS>[System.Math]::天花板(3.3)
  4
  PS>[System.Math]::天花板(-3.3)
  3
  PS>[System.Math]::马克斯(2、7)
  7
  PS>[System.Math]:: Min (2、7)
  2
  PS>[System.Math]::截断(9.3)
  9
  PS>[System.Math]::截断(-9.3)
  9  
  

使用获取成员可以查看到该静态类支持的运算方法:

  
 <代码> PS>(系统。数学)|获取成员静态-MemberType方法
  
  TypeName: System.Math
  
  名MemberType定义
  - - - - - - - - - - - - - - - - - - - - - - - -
  Abs方法静态系统。单Abs(单值)、静态Sy……
  治疗方法静态系统。双治疗(双d)
  最佳翻译方法静态系统。双最佳(双d)
  :静态方法系统。双(双d)每股
  静态系统量化方法。双量化(双y,双x)
  BigMul静态方法系统。Int64 BigMul (Int32, Int32 b)
  上限方法静态系统。双上限(aa)、静态Sy……
  因为静态方法系统。双Cos(双d)
  Cosh静态方法系统。双Cosh(双精度值)
  DivRem静态方法系统。Int32 DivRem (Int32, Int32 b, Int3……=方法静态系统。布尔=(objA对象、对象…
  静态实验方法系统。双Exp(双d)
  地板方法静态系统。双楼(双d)、静态系统……
  IEEERemainder静态方法系统。双IEEERemainder(双x,两倍……
  日志方法静态系统。双对数(双d)、静态系统……
  Log10方法静态系统。双Log10(双d)
  马克斯方法静态系统。SByte SByte马克斯(val1, val2 SByte),…
  最小方法静态系统。SByte Min (SByte val1 SByte val2),…
  战俘静态方法系统。双战俘(双x,双y)
  ReferenceEquals静态方法系统。布尔ReferenceEquals(对象objA……
  圆的方法静态系统。双圆(aa)、静态系统……
  静态方法系统的信号。Int32标志(SByte价值)、静态系统……
  罪方法静态系统。双罪(aa)
  Sinh静态方法系统。双Sinh(双精度值)
  √6方法静态系统。双Sqrt(双d)
  Tan方法静态系统。双棕褐色(aa)
  双曲正切法静态系统。双层双曲正切(双值)
  截断方法静态系统。十进制截断(十进制d),静态… 
  

您也可以关注下方的微信公众号获取更多内容
 PowerShell直接调用。net静态类和方法

PowerShell直接调用。net静态类和方法