2014-11-11 5 views
0

에서 일부 데이터의 일정한 목록을 확인, 내가이 목록은 내 응용 프로그램의 전체 사용해야이내 응용 프로그램에서 응용 프로그램

Group Kind TableName Condition 
----- ---- --------- ---------- 
sh  Send TableA  Null 
sh  New  TableB  kbsn=0 
jn  Receive TableC  Null 

같은 목록을 갖고 싶어하고 항상 값을 상수입니다. 이제 어떻게 C# 응용 프로그램의 클래스에서이 목록을 정의하고이 목록에서 읽거나 쿼리 할 수 ​​있습니까?

+0

[불변 목록을 나타내는 방법] (http://stackoverflow.com/questions/3612054/what-is-the-best-way-of-representing-an-immutable-list-in-net) 를 찾고 있습니다? –

답변

1

클래스를 만들고 필드를 추가하십시오.

Class MyCustomClass 
{ 
    public string Group { get; set; } 
    public string Kind { get; set; } 
    public string TableName { get; set; } 
    public string Condition { get; set; } 
} 

MyCustomClass의 정적 목록을 정의하고 적절한 위치에 응용 프로그램에서 초기화 및 응용 프로그램에서 모든 곳에서 사용 : 여기

는 코드입니다.

static List<MyCustomClass> lstMyCustomClass = new List<MyCustomClass> { .... }; 
+0

** 정적으로 ** readonly **를 추가하고 클라이언트에 의한 수정을 막기 위해 IEnumerable 또는 IReadOnlyCollection (.Net 4.5)으로 노출 시키십시오. – galenus

1

다음 코드를 따르면 문제를 해결할 수 있습니다. 모든

먼저 모든 목록 구성 요소를 선언 할 수 있도록, 당신은 모든 열거 형에 대한 하나 개의 클래스를 가지고 : 당신이 MyCustomClass의 목록 유형의 객체를 만들 때

public enum GroupEnum 
{ 
    sh, 
    sh, 
    jn 
} 

public enum TableNameEnum 
{ 
    TableA, 
    TableB, 
    TableC 
} 

public class MyCustomClass 
{ 
    public GroupEnum Group { get; set; } 
    public KindEnum Kind { get; set; } 
    public TableNameEnum TableName { get; set; } 
} 

을, 당신은 그룹의 모든 정적 값을, 종류 , 테이블 이름 등을 지정하여 C#의 LINQ를 통해 정적 값에 따라 해당 목록을 필터링 할 수 있습니다.

관련 문제