먼저 클래스 라이브러리 형태의 프로젝트를 생성합니다. 그리고 기본으로 제공하는 소스 파일명을 NumToEng.cs로 변경하세요.
.NET 리모팅으로 클라이언트에서 참조하여 사용하기 위해서는 MashalByRefObject를 기반으로 파생 클래스를 정의해야 합니다.
public class NumToEng:MarshalByRefObject { }
변환에서 반환할 문자열을 담을 배열을 선언 및 초기화합시다.
string[] warr = new string[] { "zero","one","two","three","four","five","six","seven","eight","nine" };
그리고 0~9 사이의 정수를 입력받아 영어로 변환한 문자열을 반환하는 메서드를 추가합시다. 동작 흐름을 파악하기 위해 의도적으로 콘솔에 출력하는 구문을 넣었습니다.
public string Convert(int num) { Console.WriteLine("NumToEng 개체의 Convert 메서드 :{0} 받음", num); if ((num >= 0) && (num <= 9)) { return warr[num]; } return "none"; }
▶ NumToEng.cs
using System; namespace NumToEngLib { /// <summary> /// 변환기(0~9 사이의 정수를 영어로) /// </summary> public class NumToEng:MarshalByRefObject { string[] warr = new string[] { "zero","one","two","three","four","five","six","seven","eight","nine" }; /// <summary> /// 변환 메서드 /// </summary> /// <param name="num">0~9 사이의 정수</param> /// <returns>변환한 문자열</returns> public string Convert(int num) { Console.WriteLine("NumToEng 개체의 Convert 메서드 :{0} 받음", num); if ((num >= 0) && (num <= 9)) { return warr[num]; } return "none"; } } }