중국 광저우 아시안게임 보느니라 정신을 놓고 있네요.
선수들 전부 다 잘 해줄 것이니 …
각설하고, 오늘 해볼 것은
프로젝트가 다른, 다시 말해 네임스페이스를 달리하는 Class Library 사용법을 해 보도록 하겠습니다.
별거 없지만… 그래도 모르는 분도 있을 것이며,
이게 능수 능란하지 않으면 공개 소스들 보고도 귀찮은 상황이 벌어지기도 합니다.
자 그럼 따라 해 볼까요?
일단 새 프로젝트를 만들고
현재 솔루션 탐색기는 이런 모양입니다.
솔루션 탐색기에서 아래 그림을 따라 실행 하세요
솔루션(Solution ‘ClassLibrary2) > 추가(Add) > 새 프로젝트(New Project) 랍니다.
프로젝트 추가 창이 뜨면 Windows Phone Class Library 템플릿으로 새로운 프로젝트를 만들어 봅시다.
그리고 솔루션 탐색기에 새로운 프로젝트가 추가 된 것을 볼 수 있을 겁니다.
testClassLibrary 라는 프로젝트가 하나 추가 되었죠?
Class1.cs 파일을 열어보면 public class Class1 이라는 클래스가 생성되어있고
해당 클래스는 testClassLibrary 라는 네임스페이스로 묶여 있습니다.
정리하자면 testClassLibrary.Class1 이라는 클래스로 불러오게 될 구성이 만들어진 것이죠
참고로, Class1.cs파일을 파일명을 바꾸셔도, 그렇지 않으셔도 됩니다.
Class1 이라는 클래스명과는 관계가 없으나 코딩을 하다 보면 명시적으로 명칭을 정하는 게 더 보기 좋기는 하죠.
그럼 public class Class1 을 구성해 봅시다. 저번 포스트처럼 !
namespace testClassLibrary #region public string getString |
일단 간략하게 설명부터 하겠습니다.
testClassLibrary 이라는 네임스페이스의 Class1 클래스
1. Member Property 선언 (.NET API에선 variable 이라 하지 않고 property 라고 하더군요)
- private 접근 지정어의 string 형 변수 returnString을 선언하고 null 값으로 초기화
- private 접근 지정어 때문에 Member Method로만 취급가능.
2. Member Mehotd 정의
- public 접근 지정어의 string 형 값을 반환하는 getString Method
- public 접근 지정어를 사용한 이유는 다른 namespace에서 사용 할 것이기 때문.
2.1 Class1의 Member Property 인 returnString에 현재날짜와 시간을 string형으로(ToString Method) 할당.
2.2 Class1의 Member Property 인 returnString을 반환.
좀 중복되는 이야기가 많아서 그렇지 이해는 될 겁니다. 저번 포스트랑 차이가 없으니까요.
참고)
#region … 아래에 /// <summary> 는 제가 직접 타이핑 한 것이 아닙니다.
코드 헬퍼가 자동으로 만들어주는데요 거기에 데이터만 추가 한 것이죠.
사용 방법은 다음과 같습니다.
#region blah blah … 에서 한 줄 내리고 /// 를 치면 자동으로 생성 됩니다.
한번 해보세요? 잘 되죠? 팁입니다. (알 사람은 다 아는 팁)
자 그럼 클래스가 다 구성되었으니 원래 프로젝트로 돌아가죠!
여느 때와 다름없이 저는 또 이렇게 구성합니다!
그리고 Button을 더블 클릭하여 이벤트 핸들러가 취급할 메서드를 자동으로 생성합시다.
일단 namespace가 다른 것을 확인 하셔야 합니다.
자 우리가 만든 testClassLibrary namespace를 사용하려면 선언을 해 주어야 하는데요.
using testClassLibary; |
코드를 추가해보죠
에러가 뜹니다.
해당 클래스의 참조가 없어서 네임스페이스를 사용 할 수 없어서 인데요.
방법은… 다시 또 따라 해봅시다. 한번 행하는 게 더 빠르게 이해됩니다. 이건 상용적인 행위니까요.
해당 솔루션 > 프로젝트에서 Reference > Add Reference... (Reference : 참조 란 뜻이죠..어?!)
Add Reference 창이 뜨는데 Projects Tab을 여시면 솔루션 이하 프로젝트가 뜹니다. 그리고 OK!
그럼 시술 전과 시술 후 추가된 Reference 항목이 보일 겁니다.
->
그럼 더 이상의 에러메시지는 나타나지 않게 됩니다.
그럼 이제 또 코드를 구성해 봅시다.
… namespace ClassLibrary2 #region private void button1_Click |
뭐 쉽죠?
1. testClassLibary 네임스페이스의 Class1 타입의 인스턴스 tmpClass 을 동적으로 생성.
2. string형 지역변수 msg에 tmpClass의 getString 메서드의 반환 값(현재 날짜와 시간) 할당
3. msg를 메세지 값으로 하는 메시지박스 출력.
디버그 버튼을 눌러 마지막 확인 해보실까요?
네임스페이스가 다른 클래스 라이브러리 사용법은 이것으로 끝입니다.
다음 포스팅 내용은 대충 정리가 되어가고 있습니다.
http://www.charlespetzold.com/phone/index.html
제가 아잉폰을 구매한 후 출퇴근 시마다 짧게 보고 있는 pdf책입니다.
여기서 쉽게 설명 가능한 부분을 예제를 이용하여 ( 책의 예제는 보는 이에 따라선 쌩뚱 맞을 수도 있으니까요)
해보도록 해보겠습니다.
내용이 중요한 게 많아서 그냥 개개인더러 보라 넘길 수가 없더군요.
'.NET > Win Phone 7' 카테고리의 다른 글
Windows Phone 7 SDK 7.1 Beta2 출시 (0) | 2011.07.09 |
---|---|
Windows Phone 7 SDK - Screen Orientation (0) | 2010.11.24 |
Windows Phone Application 등록과정 (0) | 2010.11.12 |
Windows Phone 7 SDK - Class Library (C#) 1 (0) | 2010.11.12 |
Windows Phone 7 SDK - Media Player 2 (0) | 2010.11.05 |