PowerShell直接调用.net静态类和方法
发表于:2025-12-04 作者:千家信息网编辑
千家信息网最后更新 2025年12月04日,不是所有 .NET Framework 类都可使用 New-Object 来创建。 例如,如果你尝试使用 New-Object 创建 System.Environment 或 System.Math
千家信息网最后更新 2025年12月04日PowerShell直接调用.net静态类和方法
不是所有 .NET Framework 类都可使用 New-Object 来创建。 例如,如果你尝试使用 New-Object 创建 System.Environment 或 System.Math 对象,你将收到以下错误消息:
PS> New-Object System.EnvironmentNew-Object : Constructor not found. Cannot find an appropriate constructor fortype System.Environment.At line:1 char:11+ New-Object <<<< System.EnvironmentPS> New-Object System.MathNew-Object : Constructor not found. Cannot find an appropriate constructor fortype System.Math.At line:1 char:11+ New-Object <<<< System.Math之所以发生这些错误,是因为无法从这些类创建新的对象。 这些类是不更改状态的方法和属性的引用库。 你无需创建这些类,只需要使用它们。 这样的类和方法称为静态类,因为它们不会被创建、销毁或更改。
System.Environment 类包含关于当前进程工作环境的一般信息,如果是在 Windows PowerShell 内工作,该进程为 powershell.exe。
如果尝试通过键入 [System.Environment] | Get-Member 来查看此类的详细信息,对象类型将报告为 System.RuntimeType,而不是 System.Environment:
PS> [System.Environment] | Get-Member TypeName: System.RuntimeType该类型的使用方式示例如下:
[System.Environment]::Commandline[System.Environment]::OSVersion[System.Environment]::HasShutdownStarted另外我们还可以使用另外一种静态的类进行数学运算(System.Math)
PS> [System.Math]::Sqrt(9)3PS> [System.Math]::Pow(2,3)8PS> [System.Math]::Floor(3.3)3PS> [System.Math]::Floor(-3.3)-4PS> [System.Math]::Ceiling(3.3)4PS> [System.Math]::Ceiling(-3.3)-3PS> [System.Math]::Max(2,7)7PS> [System.Math]::Min(2,7)2PS> [System.Math]::Truncate(9.3)9PS> [System.Math]::Truncate(-9.3)-9使用get-member可以查看到该静态类支持的运算方法:
PS> [System.Math] | Get-Member -Static -MemberType Methods TypeName: System.MathName MemberType Definition---- ---------- ----------Abs Method static System.Single Abs(Single value), static Sy...Acos Method static System.Double Acos(Double d)Asin Method static System.Double Asin(Double d)Atan Method static System.Double Atan(Double d)Atan2 Method static System.Double Atan2(Double y, Double x)BigMul Method static System.Int64 BigMul(Int32 a, Int32 b)Ceiling Method static System.Double Ceiling(Double a), static Sy...Cos Method static System.Double Cos(Double d)Cosh Method static System.Double Cosh(Double value)DivRem Method static System.Int32 DivRem(Int32 a, Int32 b, Int3...Equals Method static System.Boolean Equals(Object objA, Object ...Exp Method static System.Double Exp(Double d)Floor Method static System.Double Floor(Double d), static Syst...IEEERemainder Method static System.Double IEEERemainder(Double x, Doub...Log Method static System.Double Log(Double d), static System...Log10 Method static System.Double Log10(Double d)Max Method static System.SByte Max(SByte val1, SByte val2), ...Min Method static System.SByte Min(SByte val1, SByte val2), ...Pow Method static System.Double Pow(Double x, Double y)ReferenceEquals Method static System.Boolean ReferenceEquals(Object objA...Round Method static System.Double Round(Double a), static Syst...Sign Method static System.Int32 Sign(SByte value), static Sys...Sin Method static System.Double Sin(Double a)Sinh Method static System.Double Sinh(Double value)Sqrt Method static System.Double Sqrt(Double d)Tan Method static System.Double Tan(Double a)Tanh Method static System.Double Tanh(Double value)Truncate Method static System.Decimal Truncate(Decimal d), static...您也可以关注下方的微信公众号获取更多内容
方法
静态
对象
信息
类型
进程
错误
尝试
工作
运算
之所以
公众
内容
属性
报告
数学
方式
是在
更多
消息
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
青岛公安局网络安全管理待遇如何
为疫情设计管理数据库
收费站如何做好网络安全工作
数据库manridb安装
客户端备份服务器数据
万里数据库旗下产品
服装库存管理系统数据库表
阿里云云服务器怎么管理文件
韩服dnf一直提示服务器维护
网络技术开发服务部图片
软件开发计划书的开发人员
软件开发核定征收的税率
河北程序软件开发哪家实惠
芜湖保险软件开发哪家好
ldap数据库服务器
wamp的数据库链接
网络安全的内容和特点
连接服务器要求是需要网络吗
网络安全意识培训内容
铁程网络技术有限公司
网络安全等级资质
国家医保目录数据库
港交所交易软件开发商
学校DNS服务器
指静脉数据库
四川广电网络安全设置
自动校时服务器
软件开发的软件哪个好
潍坊联通软件开发待遇
数据库课程设计申元霞