2009-10-27 39 views
0

我有許多具有相同字段的LINQ to SQL表(CreatedDateCreatedUser)。 我想一個用戶控件如果數據被傳遞作爲IQueryable<T>IEnumerable<T>用戶控件顯示來自多個LINQ表的字段

例如從這些字段顯示的值:

public void UpdateStatus<T>(IQueryable<T> data) 
{ 
    DateTime? theDate = data.Single().CreatedDate; // doesn't work 
    string theUser = data.Single().CreatedUser; 
} 

回答

0

定義你在用戶控件所需的屬性的接口,然後限制通用方法來實現該接口類型:

interface IStatusInfo { 
    DateTime? CreatedDate { get; } 
    string CreatedUser { get; } 
} 

public void UpdateStatus<T>(IQueryable<T> data) where T : IStatusInfo { 
    T item = data.Single(); 
    DateTime? theDate = item.CreatedDate; 
    string theUser = item.CreatedUser; 
} 

或者,完全放棄通用位:

public void UpdateStatus(IQueryable<IStatusInfo> data) { 
    IStatusInfo item = data.Single(); 
    DateTime? theDate = item.CreatedDate; 
    string theUser = item.CreatedUser; 
} 
相關問題