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 에서 모두 접근이 가능하다.
'프로그래밍 > C#' 카테고리의 다른 글
[C#] XML 다루기 - Property 와 Node 접근하기, 네임스페이가 있는 Node처리리 (0) | 2015.03.20 |
---|---|
[C#] XML 다루기 - REST 데이터 받아서 처리하기 (0) | 2015.03.20 |
[C#] 날짜 비교 (Datetime 시간차이 구하기) (0) | 2015.03.19 |
[C#] 숫자를 문자형으로 변경하기 (0) | 2015.03.19 |
[C#] 문자를 숫자형식으로 변환 (0) | 2015.03.19 |