Microsoft MVP성태의 닷넷 이야기
.NET Framework: 71. VB.NET 이외의 언어에서 My 네임스페이스 사용 [링크 복사], [링크+제목 복사],
조회: 18083
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 


.NET 2.0에서부터는 VB.NET에 유틸리티 성격에 해당하는 기능들을 모아서 "My"라는 네임스페이스 아래에 제공해 주고 있습니다.

"VB.NET"에서만 사용할 수 있는 걸까요?
물론, ".NET"이라는 단어가 붙었다는 것만으로도, 이미 그것은 VB.NET의 전유물이 아님을 쉽게 알아채실 수 있으실 겁니다.

당연히 C#에서도 관련 어셈블리 참조만으로도 해당 "My" 네임스페이스에 있는 기능들을 동일하게 사용할 수가 있습니다. 우선, 어떤 어셈블리가 필요한지는 MSDN 도움말을 통해서 알아낼 수 있습니다. 찾아보시면, Microsoft.VisualBasic.dll에서 모든 구현이 이루어져 있음을 알 수 있습니다. 한번 따라해 볼까요? ^^

1. Microsoft.VisualBasic.dll에 대해서 참조를 추가합니다.

Microsoft.VisualBasic.dll 참조 추가

2. 어떤 기능들을 사용할 수 있는지, 다음과 같이 Object Browser를 통해서 확인할 수 있습니다. VB.NET에서처럼 바로 "My"를 통해서 접근할 수 없다는 차이만 있을 뿐입니다.

Object Browser에서 기능 확인

3. using 문으로 관련 namespace를 추가합니다. 이때 다음과 같이 "My"로 해주시면 마치 VB.NET에서 사용했던 것과 동일하게 사용하는 기분을 낼 수 있습니다.

using System;
using My = Microsoft.VisualBasic;

4. 이제 자유롭게 My 네임스페이스에 포함된 기능들을 사용해 줍니다. 그동안 아쉬웠던 기능들이 My 네임스페이스에 풍부하게 구현되어져 있으므로, 반드시 시간을 내서 봐두시기 바랍니다.

    class Program
    {
        static void Main(string[] args)
        {
            // 음악 파일 재생
            My.Devices.Audio audio = new My.Devices.Audio();
            audio.Play(@"C:\test.wma");

            // 특정 폴더 하위의 모든 내용을 삭제
            My.FileIO.FileSystem.DeleteDirectory(
                @"D:\temp2\ConsoleApplication1\test", 
                My.FileIO.DeleteDirectoryOption.DeleteAllContents);









[최초 등록일: ]
[최종 수정일: 7/9/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 136  137  138  139  140  [141]  142  143  144  145  146  147  148  149  150  ...
NoWriterDateCnt.TitleFile(s)
1560정성태1/1/201422353오류 유형: 199. Hyper-V - Checkpoint 생성 오류
1559정성태12/30/201325706.NET Framework: 401. windbg에서 확인해 보는 관리 힙의 인스턴스 구조 [2]
1558정성태12/29/201335310.NET Framework: 400. 눈으로 확인하는 LayoutKind 옵션 효과 [2]파일 다운로드1
1557정성태12/27/201324242.NET Framework: 399. LayoutKind 옵션에 대해 [2]
1556정성태12/27/201344537개발 환경 구성: 208. IIS + Node.js 환경 구성 [8]
1555정성태12/27/201331089개발 환경 구성: 207. IIS의 80 포트를 공유하는 응용 프로그램 만드는 방법 [1]
1554정성태12/26/201336427Windows: 78. 마음에 드는 윈도우 8.1 태블릿 - 델 베뉴 8 프로 5830 [4]
1553정성태12/26/201323504개발 환경 구성: 206. JNBridgePro와 한글 인코딩 문제파일 다운로드1
1552정성태12/25/201328721개발 환경 구성: 205. JNBridgePro를 이용해 C#에서 Java메서드 호출 테스트파일 다운로드1
1551정성태12/24/201323858.NET Framework: 398. tech-days 미니 토요세미나 - 3회 C#편 PPT 자료파일 다운로드1
1550정성태12/13/201326269Windows: 77. Windows 8 - 잠시 사용을 안하는 경우 화면 잠김 상태로 빠지는 문제
1549정성태12/13/201329807VC++: 73. IIS - ISAPI 필터 제작하는 방법 [2]
1548정성태12/10/201322373오류 유형: 198. C# - 제네릭 covariance/contravariance 사용할 때 컴파일 오류가 발생한다면?
1547정성태12/10/201332587.NET Framework: 397. C# - OCX 컨트롤에 구현된 메서드에 배열을 in, out으로 전달하는 방법파일 다운로드2
1546정성태11/28/201325971.NET Framework: 396. C# - 프로퍼티로 정의하면 필드보다 느릴까요? - windbg / ollydbg [3]
1545정성태11/28/201329843.NET Framework: 395. C# - 프로퍼티로 정의하면 필드보다 느릴까요? [3]
1544정성태11/27/201326403개발 환경 구성: 204. Visual Studio Online "Monaco" 서비스와 github 연동
1543정성태11/27/201331115오류 유형: 197. error MSB8008: Specified platform toolset (v120) is not installed or invalid. [1]
1542정성태11/27/201336749오류 유형: 196. The procedure entry point InitializeCriticalSectionEx could not be located in the dynamic link library KERNEL32.dll
1541정성태11/22/201337989.NET Framework: 394. async/await 사용 시 hang 문제가 발생하는 경우 [7]파일 다운로드1
1540정성태11/20/201326303개발 환경 구성: 203. Azure - WEB SITES 서비스 소개 [4]
1539정성태11/19/201330302VS.NET IDE: 83. 형상 관리 서버 운영을 대신해 주는 Visual Studio 온라인 서비스
1538정성태11/19/201331156오류 유형: 195. 웹 사이트의 모든 정적 컨텐츠 요청에 대해 "Internal Server Error" 응답
1537정성태11/19/201322776오류 유형: 194. 윈도우 서버 백업으로 인해 Hyper-V VM들의 상태가 모두 "Backing up..." 상태로 오래 지속되는 문제
1536정성태11/19/201327534오류 유형: 193. 윈도우 서버 백업 - Hyper-V 가상 머신이 백업되지 않는 경우
1535정성태11/18/201327649.NET Framework: 393. Internet Explorer 11에서 ASP.NET 컨트롤의 크기가 달라지는 문제 [1]
... 136  137  138  139  140  [141]  142  143  144  145  146  147  148  149  150  ...