zoukankan      html  css  js  c++  java
  • 用Powershell调用DLL文件

    用Powershell调用DLL文件

    来源 https://blog.csdn.net/itanders/article/details/5702771

    因为Windows PowerShell能完全访问.NET Framework,所以我们就可以想象如何用Powershell来调用DLL类库呢。

    这里我们用C#写一段代码编译为DLL文件(这是在做一个数字大小的比较,CompareI是用静态方法,CompareII则是一般方法)

    编译命令:csc /target:library G:/Math2.cs

    namespace Math  
    {  
    public class Methods  
    {  
    public Methods()  
    {  
    }  
    public static int CompareI(int a, int b)  
    {  
    if (a>b)  
    return a;  
    else  
    return b;  
    }  
      
    public int CompareII(int a, int b)  
    {  
    if (a>b)  
    return a;  
    else  
    return b;  
    }  
    }  
    }  

    最后我们开始在Powershell环境下调用:

    [void][System.Reflection.Assembly]::UnsafeLoadFrom("G:/Math2.dll")
    [Math.methods]::CompareI(10,2)  
    $a=New-Object Math.Methods  
    $a.CompareII(2,3)  
     

    结果为:10 3

    [void][reflection.assembly]::LoadFile("D:/VS2008/VC/Math2.dll")

    我们必须以这种形式加载DLL库

    [Math.methods]::CompareI(10,2)

    我们看到Powershell在调用静态方法的时候必须使用方括号加上双冒号“::”的形式来调用静态方法。

    $a=New-Object Math.Methods
    $a.CompareII(2,3)

    而一般方法则不然,必须用New-Object来声明一个对象引用。

    ============ End

  • 相关阅读:
    吃货联盟项目
    字串符笔记
    带有参的方法
    js:自动亮起100盏灯
    JS字面量创建方式的优缺点
    为什么说对象字面量赋值比new Object()高效?
    javascript 字面量
    vue学习(一)、Vue.js简介
    Redis(二):c#连接Redis
    Redis(一):centos下安装。
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/13997537.html
Copyright © 2011-2022 走看看