[C#] List Collection 재정의(Override) 하기

|

List<T> 를 사용하다 보면 부가적으로 추가적인 정보를 저장을 할 필요가 있을때가 있다.

예를 들어서 음식점에서 테이블마다 메뉴를 여러개를 주문할 수가 있는데 해당 리스트에 테이블 번호와

사람수와 기타 다른 정보를 추가적으로 관리할 필요가 있게된다. 이때 다른 클래스를 새로 정의해서 사용해도 되지만

기존의 List를 재정의(Override)해서 기능추가를 해서 사용할 수 있다.


class MainApp
{
    static void Main()
    {

        ServingInfo NewCustomer = new ServingInfo();
        NewCustomer.tableNumber = "32";
        NewCustomer.peopleCount = 3;
        NewCustomer.Add(new Menu() { menuCode = "0233", customerComment = "중간맛으로 해주세요" });
        NewCustomer.Add(new Menu() { menuCode = "1443", customerComment = "소스 많이 넣어주세요" });
    }
}

class Menu
{
    public string menuCode { get; set; }
    public string customerComment { get; set; }

}

class ServingInfo : List<Menu>
{
    public string tableNumber { get; set; }
    public int peopleCount { get; set; }
    public string servingComment { get; set; }
}


ServingInfo 클래스는 기존의 List<T>를 Menu 만 받는 컬렉션으로 상속받아서, 기존의 List가 가지고 있는 모든기능을 사용한다.

여기에 테이블 정보나 사람수나 추가적인 주문정보를 입력이 가능하다.


따라서 다른곳에 해당 정보들을 저정 할 필요가 없이 새로 정의한 ServingInfo 에서 모두 접근이 가능하다.


And