1.7.1 공통 라이브러리 제작

먼저 클래스 라이브러리 형태의 프로젝트를 생성합니다. 그리고 기본으로 제공하는 소스 파일명을 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";
        }
    }
}