728x90
반응형
728x170
▶ Program.cs
using System;
using System.CodeDom.Compiler;
using System.Reflection;
namespace TestProject
{
/// <summary>
/// 프로그램
/// </summary>
class Program
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Private
#region 프로그램 시작하기 - Main()
/// <summary>
/// 프로그램 시작하기
/// </summary>
private static void Main()
{
Console.Title = "CodeDomProvider 클래스 : 런타임에서 C# 코드를 동적으로 컴파일하고 DLL 파일 생성하기";
CompilerParameters parameters = new CompilerParameters();
parameters.GenerateExecutable = false;
parameters.OutputAssembly = "d:\\TestSample.dll";
string code = @"
namespace TestProject
{
public class TestClass
{
public static int Value = 100;
}
}
";
CompilerResults result = CodeDomProvider.CreateProvider("CSharp").CompileAssemblyFromSource(parameters, code);
Assembly assembly = Assembly.LoadFrom("d:\\TestSample.dll");
Type type = assembly.GetType("TestProject.TestClass");
FieldInfo fieldInfo = type.GetField("Value");
object value = fieldInfo.GetValue(null);
Console.WriteLine(value);
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'C# > Common' 카테고리의 다른 글
[C#/COMMON] 거리 구하기 (0) | 2018.05.09 |
---|---|
[C#/COMMON] 너비 우선 탐색을 사용해 최단 경로 구하기 (0) | 2018.04.28 |
[C#/COMMON] 너비 우선 탐색하기 (Breadth-First Search) (0) | 2018.04.28 |
[C#/COMMON] 깊이 우선 탐색하기 (Depth-First Search) (0) | 2018.04.28 |
[C#/COMMON] 런타임에서 코드로 C# 코드 생성하기 (0) | 2018.04.26 |
[C#/COMMON] CSharpCompilation 클래스 : 런타임에서 C# 코드를 동적으로 컴파일하기 (0) | 2018.04.26 |
[C#/COMMON] Stream 클래스 : 스로틀(Throttle) 스트림 만들기 (0) | 2018.04.09 |
[C#/COMMON] 특정 파일을 사용하는 프로세스 리스트 구하기 (0) | 2018.03.29 |
[C#/COMMON] 사용자 계정 변경하기 (0) | 2018.03.24 |
[C#/COMMON] 콘솔(Console) 닫기 버튼 비활성화 하기 (0) | 2018.03.22 |
댓글을 달아 주세요