我将 IList 绑定到 GridView。IMyInterface 看起来像
public interface IMyInterface: IHasTotalHours, IHasLines
{
DateTime GoalStartDate { get; set; }
DateTime GoalEndDate { get; set; }
}
我将一个实例绑定到这样的网格:
IList<IMyInterface> instance= GetMyData();
myGrid.DataSource = instance;
myGrid.DataBind();
当将此绑定到网格时,网格中显示的唯一成员是 IMyInterface 的直接成员:GoalStartDate 和 GoalEndDate。
这是为什么?如何让网格显示它继承的其他接口的成员?
更新 继承的接口定义简单的数据属性,如
public interface IHasTotalHours
{
string Description { get; set; }
int Hours{ get; set; }
}
public interface IHasLines
{
double TotalLines { get; set; }
double LinesPerHour { get; set; }
}
有一个实现IMyInterface的类:
public class MyClass : IMyInterface
{
public string Description { get; set; }
public int Hours { get; set; }
public double TotalLines { get; set; }
public double LinesPerHour { get; set; }
public DateTime GoalStartDate { get; set; }
public DateTime GoalEndDate { get; set; }
}
这些被转换为 IMyInterface,并在我绑定到 GridView 的列表中返回。