2014-10-02 149 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