12.2.6 InvElem

형태소를 분석한 이후에 역파일 테이블에는 해당 형태소를 포함하는 페이지 주소와 참조 카운터를 멤버로 하는 역파일 요소가 필요합니다. 이 부분도 파일 입출력이 가능하게 직렬화 가능한 형식으로 정의합시다.

[Serializable]
public class InvElem
{
}

멤버 속성으로 페이지 주소와 참조 개수를 제공합니다. 특히 참조 개수는 사용하는 곳에서 설정할 수 있게 set도 public 접근 지정합니다. 생성자에서는 페이지 주소와 참조 개수를 입력받아 속성을 설정합니다.

public string Link
{
    get;
    private set;
}
public int RefCount
{
    get;
    set;
}
public InvElem(string link,int refcount)
{
    Link = link;
    RefCount = refcount;
}

ToString 메서드를 재정의하여 페이지 주소와 참조 개수의 조합을 반환합니다.

public override string ToString()
{
    return string.Format("{0}:{1}", Link, RefCount);
}

▷ InvElem.cs

using System;

namespace RSSBrowserLib
{
    /// <summary>
    /// 역파일 요소
    /// </summary>
    [Serializable]
    public class InvElem
    {
        /// <summary>
        /// 주소
        /// </summary>
        public string Link
        {
            get;
            private set;
        }

        /// <summary>
        /// 참조개수
        /// </summary>
        public int RefCount
        {
            get;
            set;
        }



        /// <summary>
        /// 생성자
        /// </summary>
        /// <param name="link">주소</param>
        /// <param name="refcount">참조개수</param>
        public InvElem(string link,int refcount)
        {
            Link = link;
            RefCount = refcount;
        }
        /// <summary>
        /// ToString 재정의
        /// </summary>
        /// <returns>주소:참조개수</returns>
        public override string ToString()
        {
            return string.Format("{0}:{1}", Link, RefCount);
        }
    }
}