이전 포스팅에서 C# 으로 만들어진 DLL 을 Autohotkey 에서 사용하는 방법에 대해 알아 봤는데요.
http://iamaman.tistory.com/2042
오늘은 C# 으로 만들어진 DLL을 Powershell 에서 사용하는 방법에 대해 알아보려 합니다.
예제를 위한 C# 코드는 아래와 같습니다. 위 포스팅에서의 예제와 다른 점이라면 static 함수가 있다는 겁니다.
-test.cs-
using System;
namespace myDLL
{
public class Calculator
{
public static int Sub(int a, int b)
{
return a - b;
}
public int Add(int a, int b)
{
return a + b;
}
public int increase(int var)
{
var++;
return var;
}
}
}
다음과 같이 C# 코드를 dll 파일로 빌드 합니다.
csc.exe /target:library test.cs
이렇게 만들어진 dll 파일을 Powershell 에서 로드하기 위해 아래와 같이 명령 합니다.
Add-Type -Path "DLL 파일 path"
EX ) Add-Type -Path "E:\workspace\2017-12-27\test.dll"
이제 위에서 만든 dll 이 로드 됐으므로 myDLL namespace 의 Calculator 클래스를 사용할 수 있습니다.
Powershell 에서 static 함수 호출은 아래와 같이 합니다.
[myDLL.Calculator]::Sub(2,3)
-1
다음으로 멤버 함수를 불러오기 위해서는 instance 를 생성 한 후에 호출 해 주면 됩니다. Powershell 코드는 아래와 같습니다.
$test = New-Object -TypeName myDLL.Calculator
$test.Add(2,3)
5
Powershell 에서 전체 실행은 아래와 같습니다.
'programming language > powershell' 카테고리의 다른 글
Powershell xml parsing (0) | 2019.01.30 |
---|---|
Powershell 을 사용하여 레지스트리 값 변경하기 (0) | 2018.10.07 |
Powershell 을 사용하여 COM(Component Object Model) 에서 사용가능한 함수 및 속성 알아내는 방법 (0) | 2018.05.07 |
Powershell 을 사용하여 낮은 해상도 드라마 지우기 (0) | 2018.04.30 |
Powershell utf8 with/without BOM 파일 저장 (0) | 2017.07.27 |
Powershell v5.0 설치 (0) | 2017.02.19 |
Powershell 지난 주 이전의 파일 지우기 (0) | 2017.02.18 |
Powershell 사용하여 Symbolic link 를 만드는 방법 (0) | 2017.02.10 |
댓글