C# Usercontrol从多个LINQ表中显示字段
我有许多具有相同字段的LINQ到SQL表(C# Usercontrol从多个LINQ表中显示字段,c#,linq,linq-to-sql,user-controls,C#,Linq,Linq To Sql,User Controls,我有许多具有相同字段的LINQ到SQL表(CreatedDate和CreatedUser)。 如果数据以IQueryable或IEnumerable的形式传入,我希望usercontrol显示这些字段中的值 例如: public void UpdateStatus<T>(IQueryable<T> data) { DateTime? theDate = data.Single().CreatedDate; // doesn't work string
CreatedDate
和CreatedUser
)。
如果数据以IQueryable
或IEnumerable
的形式传入,我希望usercontrol显示这些字段中的值
例如:
public void UpdateStatus<T>(IQueryable<T> data)
{
DateTime? theDate = data.Single().CreatedDate; // doesn't work
string theUser = data.Single().CreatedUser;
}
public void UpdateStatus(IQueryable数据)
{
DateTime?theDate=data.Single().CreatedDate;//不起作用
字符串theUser=data.Single().CreatedUser;
}
为用户控件中所需的属性定义一个接口,然后将泛型方法限制为实现该接口的类型:
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;
}
接口信息{
日期时间?创建日期{get;}
字符串CreatedUser{get;}
}
public void UpdateStatus(IQueryable数据),其中T:IStatusInfo{
T item=data.Single();
DateTime?theDate=item.CreatedDate;
字符串theUser=item.CreatedUser;
}
或者,完全删除通用位:
public void UpdateStatus(IQueryable<IStatusInfo> data) {
IStatusInfo item = data.Single();
DateTime? theDate = item.CreatedDate;
string theUser = item.CreatedUser;
}
public void UpdateStatus(IQueryable数据){
IStatusInfo项=data.Single();
DateTime?theDate=item.CreatedDate;
字符串theUser=item.CreatedUser;
}