C# 4.0에서의 COM Interop 개선사항 중 가장 주요한 것은 dynamic 키워드를 사용하여 COM 객체를 더욱 쉽게 다룰 수 있게 된 것입니다. 그 결과, C#에서 Office 어플리케이션과 같은 COM 기반 컴포넌트를 조작할 때 코드가 훨씬 깔끔해졌습니다.
이를 보여주기 위해 간단하게 Excel을 사용하는 예제를 제공하겠습니다. 이 예제는 C# 4.0의 dynamic 키워드를 사용하여 Excel의 새로운 워크북을 생성하고 데이터를 입력하는 코드입니다.
using System;
using System.Runtime.InteropServices;
namespace COMInteropExample
{
class Program
{
static void Main()
{
dynamic excelApp = Activator.CreateInstance(Type.GetTypeFromProgID("Excel.Application"));
excelApp.Visible = true;
dynamic workbooks = excelApp.Workbooks;
dynamic workbook = workbooks.Add();
dynamic worksheet = workbook.Worksheets[1];
worksheet.Cells[1, 1].Value = "Hello";
worksheet.Cells[1, 2].Value = "World!";
// 정리
Marshal.ReleaseComObject(worksheet);
Marshal.ReleaseComObject(workbook);
Marshal.ReleaseComObject(workbooks);
excelApp.Quit();
Marshal.ReleaseComObject(excelApp);
}
}
}
이 코드는 Excel 애플리케이션을 시작하고 새로운 워크북과 워크시트를 추가하여 "Hello"와 "World!"를 첫 번째 행에 입력합니다.
주의사항:
- 이 코드를 실행하려면 대상 시스템에 Excel이 설치되어 있어야 합니다.
- Office PIA(Primary Interop Assembly) 참조가 필요하지 않은 경우가 있지만, 특정 기능을 사용하기 위해서는 추가해야 할 수도 있습니다.
- COM 객체는 관리되지 않는 리소스이므로 적절하게 해제하는 것이 중요합니다.
이 예제는 C#에서 COM Interop을 사용하여 Excel을 조작하는 방법을 간략하게 보여줍니다. dynamic을 사용하면 이전 버전보다 훨씬 간결하고 직관적인 코드를 작성할 수 있습니다.
'워크 > C# 4.0' 카테고리의 다른 글
임베디드 Interop 형식 (Embedded Interop Types) (0) | 2023.08.27 |
---|---|
공변성과 반공변성 (Covariance and Contravariance) (0) | 2023.08.27 |
옵션 매개변수 (Optional Parameters) (0) | 2023.08.27 |
명명된 매개변수 (Named Parameters) (0) | 2023.08.27 |
동적 바인딩 (Dynamic Binding) (0) | 2023.08.27 |