[Windows Forms 응용 with C#] 4.3.3 ModifyEventArgs, ModifyEventHandler

도서 관리자 개체에서 도서를 변경하면 게시하는 이벤트를 위해 이벤트 인자와 대리자를 정의합시다.

public class ModifyEventArgs : EventArgs
{

도서 개체를 가져오기 할 수 있는 속성을 제공합니다.

    public BookStory BS
    {
        get;
        private set;
    }

제목을 가져오기 할 수 있는 속성을 제공합니다.

    public string Title
    {
        get
        {
            return BS.Title;
        }
    }

일련 번호를 가져오기 할 수 있는 속성을 제공합니다.

    public int No
    {
        get
        {
            return BS.No;
        }
    }

설명을 가져오기 할 수 있는 속성을 제공합니다.

    public string Description
    {
        get
        {
            return BS.Description;
        }
    }

이미지 파일 이름을 가져오기 할 수 있는 속성을 제공합니다.

    public string ImageName
    {
        get
        {
            return BS.ImageName;
        }
    }

날짜를 가져오기 할 수 있는 속성을 제공합니다.

    public DateTime DT
    {
        get
        {
            return BS.DT;
        }
    }

생성자는 도서 개체를 입력 인자로 받아 속성을 설정합니다.

    internal ModifyEventArgs(BookStory bs)
    {
        BS = bs;
    }
} 

도서 변경 이벤트 핸들러를 위임할 대리자 형식을 정의합니다.

public delegate void ModifyEventHandler(object sender, ModifyEventArgs e);

▷ ModifyEventArgs.cs

//ModifyEventArgs.cs
using System;
namespace MyReadingStory
{   
    /// <summary>
    /// 도서 변경 이벤트 인자
    /// </summary>
    public class ModifyEventArgs : EventArgs
    {
        /// <summary>
        /// 도서 - 가져오기
        /// </summary>
        public BookStory BS
        {
            get;
            private set;
        }
        /// <summary>
        /// 제목 - 가져오기
        /// </summary>
        public string Title
        {
            get
            {
                return BS.Title;
            }
        }
        /// <summary>
        /// 일련번호 - 가져오기
        /// </summary>
        public int No
        {
            get
            {
                return BS.No;
            }
        }
        /// <summary>
        /// 설명 - 가져오기
        /// </summary>
        public string Description
        {
            get
            {
                return BS.Description;
            }
        }
        /// <summary>
        /// 이미지 이름 - 가져오기
        /// </summary>
        public string ImageName
        {
            get
            {
                return BS.ImageName;
            }
        }
        /// <summary>
        /// 날짜 - 가져오기
        /// </summary>
        public DateTime DT
        {
            get
            {
                return BS.DT;
            }
        }
        internal ModifyEventArgs(BookStory bs)
        {
            BS = bs;
        }
    }
    /// <summary>
    /// 도서 변경 이벤트 핸드러를 위임할 대리자
    /// </summary>
    /// <param name="sender">이벤트 게시자</param>
    /// <param name="e">이벤트 인자</param>
    public delegate void ModifyEventHandler(object sender, ModifyEventArgs e);
}