[C#/COMMON] CSharpScript 클래스 : EvaluateAsync/RunAsync 정적 메소드를 사용해 런타임에서 C# 코드를 동적으로 컴파일하기
C#/Common 2021. 8. 22. 00:34728x90
반응형
728x170
▶ Program.cs
using Microsoft.CodeAnalysis.CSharp.Scripting;
using Microsoft.CodeAnalysis.Scripting;
using System;
using System.Threading.Tasks;
namespace TestProject
{
/// <summary>
/// 프로그램
/// </summary>
class Program
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Private
#region 프로그램 시작하기 - Main()
/// <summary>
/// 프로그램 시작하기
/// </summary>
private async static Task Main()
{
object result = await CSharpScript.EvaluateAsync("System.Math.Pow(2, 4)");
Console.WriteLine(result);
ScriptState<object> scriptState = await CSharpScript.RunAsync
(
@"
class TestClass
{
public void Print() => System.Console.WriteLine(1);
}"
);
await scriptState.ContinueWithAsync("new TestClass().Print();");
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'C# > Common' 카테고리의 다른 글
[C#/COMMON] Uri 클래스 : AbsolutePath/AbsoluteUri 속성 사용하기 (0) | 2021.08.22 |
---|---|
[C#/COMMON] CSV 파서 사용하기 (0) | 2021.08.22 |
[C#/COMMON] Environment 클래스 : GetEnvironmentVariable 정적 메소드를 사용해 환경 변수 값 구하기 (0) | 2021.08.22 |
[C#/COMMON] Environment 클래스 : SetEnvironmentVariable 정적 메소드를 사용해 환경 변수 값 설정하기 (0) | 2021.08.22 |
[C#/COMMON] StreamReader 클래스 : Read 메소드를 사용해 대용량 파일 읽기 (0) | 2021.08.22 |
[C#/COMMON] CSharpScript 클래스 : EvaluateAsync/RunAsync 정적 메소드를 사용해 런타임에서 C# 코드를 동적으로 컴파일하기 (0) | 2021.08.22 |
[C#/COMMON] 누겟 설치 : Microsoft.CodeAnalysis.CSharp.Scripting (0) | 2021.08.22 |
[C#/COMMON] DateTime 구조체 : ToLocalTime 메소드를 사용해 지방시 구하기 (0) | 2021.08.22 |
[C#/COMMON] DateTime 구조체 : ToUniversalTime 메소드를 사용해 표준시 구하기 (0) | 2021.08.22 |
[C#/COMMON] Assembly 클래스 : GetTypes 메소드를 사용해 특정 네임스페이스의 클래스 리스트 구하기 (0) | 2021.08.22 |
[C#/COMMON] NetworkInterface 클래스 : GetIPv4Statistics 메소드를 사용해 네트워크 트래픽 구하기 (0) | 2021.08.22 |
댓글을 달아 주세요