2014-10-02 156 views
0

我在寫一個.Net庫,這是我的場景: 我有一個包含「批次」列表的「經理」類。每批都有一個Status屬性。組非靜態類屬性

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

BatchManager有一個枚舉器,其鍵值等於可能的批處理狀態。

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

我創建批處理管理,讓我根據他們的狀態劃分批次,這樣的性質:

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

問題 在哪種方式我能組屬性有這樣的結構:

BatchManager 
    PropertiesGroup 
      BatchesCompleted 
      BatchesReady 
      .... 

我試着用BatchManager類中的一個結構體,但問題是「批量」我n BatchManager不是靜態的,我無法從結構中訪問它們。 由於相同的原因,我無法使用其他課程。

(這不是一個具體的問題,它只是使問題簡單易懂的例子)

預先感謝您

回答

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 2014-10-02 09:24:39