본문 바로가기

워크/C# 4.0

(7)
임베디드 Interop 형식 (Embedded Interop Types) C# 4.0에서는 임베디드 Interop 형식(Embedded Interop Types)이라는 기능이 도입되었습니다. 이 기능은 특히 Office와 같은 COM 구성 요소와 상호 작용할 때 유용합니다. 임베디드 Interop 형식을 사용하면 Primary Interop Assembly (PIA)를 직접 참조하지 않고도 해당 형식의 복사본을 어셈블리에 포함시킬 수 있습니다. 이로 인해 배포가 간단해지고, PIA가 설치되지 않은 시스템에서도 어플리케이션을 실행할 수 있게 됩니다. 아래는 임베디드 Interop 형식을 사용하는 간단한 예시입니다. 이 예시에서는 Microsoft Office Excel을 사용하며, 이를 위해 "Microsoft.Office.Interop.Excel"을 참조해야 합니다. 먼저, ..
COM Interop 개선사항 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 ..
공변성과 반공변성 (Covariance and Contravariance) 공변성(covariance)과 반공변성(contravariance)은 C#에서 제네릭 인터페이스와 대리자와 관련된 고급 개념입니다. 이를 이해하려면 먼저 공변성과 반공변성의 정의부터 알아보겠습니다. 공변성(Covariance): 서브타입의 결과를 반환하거나 얻을 수 있을 때 사용합니다. C#에서는 out 키워드로 표시됩니다. 반공변성(Contravariance): 수퍼타입의 입력을 받을 수 있을 때 사용합니다. C#에서는 in 키워드로 표시됩니다. 이제 간단한 예제를 통해 이 두 개념을 살펴보겠습니다. using System; using System.Collections.Generic; namespace CovarianceAndContravarianceExample { class Animal { } cl..
옵션 매개변수 (Optional Parameters) 옵션 매개변수(optional parameters)는 메서드 호출 시 특정 매개변수에 값을 제공하지 않아도 되도록 해당 매개변수에 기본값을 지정해주는 기능입니다. 옵션 매개변수 예제: using System; namespace OptionalParametersExample { class Program { static void Main(string[] args) { // 모든 매개변수를 제공하는 호출 Greet("John", "Hello"); // 옵션 매개변수 message를 생략하는 호출 Greet("Alice"); // 기본값을 모두 사용하는 호출 Greet(); } // name과 message 매개변수는 기본값을 가지므로 제공하지 않아도 됩니다. static void Greet(string nam..
명명된 매개변수 (Named Parameters) 명명된 매개변수(named parameters)는 메서드 호출 시 매개변수의 이름을 지정하여 전달할 수 있게 해주는 기능입니다. 이를 사용하면 매개변수의 순서에 구애받지 않고 메서드를 호출할 수 있으며, 가독성도 향상됩니다. 명명된 매개변수 예제: using System; namespace NamedParametersExample { class Program { static void Main(string[] args) { // 일반적인 메서드 호출 DisplayPerson("John", 25); // 명명된 매개변수를 사용한 메서드 호출 DisplayPerson(age: 30, name: "Alice"); } static void DisplayPerson(string name, int age) { Con..
동적 바인딩 (Dynamic Binding) C# 4.0의 dynamic 키워드를 이용한 동적 바인딩에 대한 간단한 예시를 제공하겠습니다. 동적 바인딩 예제: using System; namespace DynamicExample { class Program { static void Main(string[] args) { dynamic dynamicVariable = 10; Console.WriteLine("Initial value: " + dynamicVariable); dynamicVariable = "Now, I am a string!"; Console.WriteLine("After changing: " + dynamicVariable); } } } 이 예제에서 dynamicVariable은 초기에 정수 값 10을 가지고 있습니다. 그러나 dy..
C# 4.0의 주요 특징 안녕하세요, C# 개발자 여러분! 오늘은 C#의 여러 버전 중 하나인 C# 4.0에 대해 이야기해보려고 합니다. 이 버전은 2010년에 출시되었으며, 많은 신기술과 강력한 기능들을 도입해 개발자들에게 새로운 세계를 제시했습니다. C# 4.0의 주요 특징과 기능을 살펴봅시다. 동적 바인딩 (Dynamic Binding): dynamic 키워드를 도입하여, 컴파일 타임에 타입을 지정하지 않고 런타임에 타입을 결정할 수 있게 되었습니다. 이로 인해 COM 및 다른 동적 언어와의 통합이 쉬워졌습니다. 명명된 매개변수 (Named Parameters): 메서드 호출 시 매개변수의 이름을 지정하여 전달할 수 있게 되었습니다. 이를 통해 코드의 가독성이 향상되었습니다. PrintOrderDetails(orderNum..