Office 솔루션에서 Visual Basic과 Visual C#의 비교를 사용한 프로그래밍

Visual Basic 또는 Visual C#을 사용하여 Office 솔루션을 만들 수 있습니다. Microsoft Office 개체 모델은 Microsoft VBA(Visual Basic for Applications)와 함께 사용하도록 디자인되었으므로 Visual Basic 개발자는 Microsoft Office 응용 프로그램에서 노출하는 개체를 손쉽게 사용할 수 있습니다. Visual Studio 2010에서 Visual C# 개발자는 대부분 Visual Basic 개발자와 동일한 기능을 사용할 수 있지만 Office 개체 모델을 사용하기 위해 추가 코드를 작성해야 하는 경우도 있습니다. Office 개발과 Visual Basic 및 C#으로 작성된 관리 코드 간에는 기본 프로그래밍 기능 면에서 몇 가지 차이점도 있습니다.

적용 대상: 이 항목의 정보는 Microsoft Office 2010 및 2007 Microsoft Office system의 문서 수준 프로젝트 및 응용 프로그램 수준 프로젝트에 적용됩니다. 자세한 내용은 Office 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.

Visual Basic과 Visual C#의 주요 차이점

다음 표에서는 Office 개발 시 Visual Basic과 Visual C#의 주요 차이점을 보여 줍니다.

기능

설명

Visual Basic 지원

Visual C# 지원

선택적 매개 변수

많은 Microsoft Office 메서드에는 메서드를 호출할 때 반드시 전달하지 않아도 되는 매개 변수가 있습니다. 매개 변수의 값을 전달하지 않으면 기본값이 사용됩니다.

Visual Basic에서는 선택적 매개 변수를 지원합니다.

Visual C#에서는 대부분의 경우에 선택적 매개 변수를 지원합니다. 자세한 내용은 Office 솔루션의 선택적 매개 변수를 참조하십시오.

참조로 매개 변수 전달

대부분의 Microsoft Office 주 interop 어셈블리에 있는 선택적 매개 변수는 값으로 전달할 수 있습니다. 그러나 일부 주 interop 어셈블리에서는 참조 형식을 사용하는 선택적 매개 변수를 참조로 전달해야 합니다.

값 및 참조 형식 매개 변수에 대한 자세한 내용은 값 및 참조로 인수 전달(Visual Basic)(Visual Basic의 경우) 및 매개 변수 전달(C# 프로그래밍 가이드)을 참조하십시오.

매개 변수를 참조로 전달하는 데에는 추가적인 작업이 필요하지 않습니다. Visual Basic 컴파일러에서는 필요할 때 자동으로 매개 변수를 참조로 전달합니다.

대부분의 경우 Visual C# 컴파일러에서는 필요할 때 자동으로 매개 변수를 참조로 전달합니다. 자세한 내용은 Office 솔루션의 선택적 매개 변수를 참조하십시오.

매개 변수가 있는 속성

일부 속성은 매개 변수를 받으며 읽기 전용 함수처럼 동작합니다.

Visual Basic에서는 매개 변수를 받는 속성을 지원합니다.

Visual C#에서는 매개 변수를 받는 속성을 지원합니다.

런타임에 바인딩

런타임에 바인딩 과정에서는 디자인 타임에 변수를 개체 형식으로 캐스팅하는 것이 아니라 런타임에 개체의 속성을 확인해야 합니다.

Visual Basic에서는 Option Strict가 해제된 경우 런타임에 바인딩을 수행합니다. Option Strict가 설정되면 명시적으로 개체를 변환하고 System.Reflection 네임스페이스의 형식을 사용하여 런타임에 바인딩되는 멤버에 액세스해야 합니다. 자세한 내용은 Office 솔루션에서 런타임에 바인딩을 참조하십시오.

Visual C#은 .NET Framework 4를 대상으로 하는 프로젝트에서 런타임에 바인딩을 수행합니다. .NET Framework 3.5를 대상으로 하는 프로젝트에서는 명시적으로 개체를 캐스팅하고 System.Reflection 네임스페이스의 형식을 사용하여 런타임에 바인딩되는 멤버에 액세스해야 합니다. 자세한 내용은 Office 솔루션에서 런타임에 바인딩을 참조하십시오.

Office 개발과 관리 코드의 주요 차이점

다음 표에서는 Office 개발과 Visual Basic 또는 Visual C#으로 작성된 관리 코드의 주요 차이점을 보여 줍니다.

기능

설명

Visual Basic 및 Visual C# 지원

배열 인덱스

Microsoft Office 응용 프로그램에서 컬렉션의 배열 하한은 1부터 시작하지만 Visual Basic과 Visual C#에서는 0부터 시작하는 배열을 사용합니다. 자세한 내용은 배열(C# 프로그래밍 가이드)Visual Basic의 배열을 참조하십시오.

Microsoft Office 응용 프로그램의 개체 모델에서 컬렉션의 첫 번째 항목에 액세스하려면 인덱스 0이 아니라 1을 사용합니다.

참고 항목

작업

방법: 주 Interop 어셈블리를 통한 Office 응용 프로그램 대상 선택

Office 솔루션에서 런타임에 바인딩

참조

리플렉션(C# 및 Visual Basic)

개념

Office 솔루션에서 코드 작성

Office 솔루션의 선택적 매개 변수