2014-10-02 2 views
0

.Net 라이브러리를 작성 중이며 이것이 내 시나리오입니다. "일괄 처리"목록이 포함 된 "Manager"클래스가 있습니다. 모든 배치에는 Status 속성이 있습니다.비 정적 클래스 속성 그룹

public class Batch 
{ 
public string Status { get { return batchActualStatusVar; } } 
} 

BatchManager에는 키가 가능한 배치 상태와 동일한 열거자가 있습니다. 방법은 I 그룹 속성이 같은 구조를 가지고 있습니다 있는

public List<Batch> BatchesCompleted { 
    get { 
    return Batches.Where(x => x.Status == BatchManager.BatchStatus.Completed.ToString()).ToList(); } } 

질문 :

public enum BatchStatus 
{ 
Completed = 64, 
Error = 32, 
InProgress = 4 
And so on..... 
} 

나는 이런 식으로, 나를 상태 그들에게에 따라 일괄 처리를 분할 할 수 있도록 배치 관리자의 속성을 생성 :

BatchManager 
    PropertiesGroup 
      BatchesCompleted 
      BatchesReady 
      .... 

BatchManager 클래스 내부의 구조체로 시도했지만 문제는 "배치"입니다. n BatchManager는 정적이 아니며 struct 내부에서 액세스 할 수 없습니다. 같은 이유로 다른 클래스를 사용할 수 없습니다.

답변

1

이 재산 PropertiesGroup에 의해 것을 반환되는 BatchFilter 클래스를 만듭니다 미리 감사합니다 (이 이해하기 질문은 간단하게 단지 예입니다, 특정 질문하지 않습니다) 당신은 당신이 일괄 변경할 때 재설정을 캐시 할 수 원하는 경우, 등등 ...

정보가 BatchManager

public class BatchFilter 
{ 
    private List<Batch> _batches; 
    public BatchFilter(List<Batch> batches) 
    { 
     _batches = batches; 
    } 

    public List<Batch> BatchesCompleted { 
    get { 
    return _batches.Where(x => x.Status == BatchManager.BatchStatus.Completed.ToString()).ToList(); } } 
} 

class BatchManager 
{ 
    public BatchFilter PropertiesGroup { get { return new BatchQuery(Batches); }} 
    // ... 
} 

에서 오는 구축

+0

이 솔루션에 감사드립니다! – SamDroid

관련 문제