我正在尝试访问iList的特定数据。
public static void export(IList<T> data){
var test = data[1];
var x = test.day;
}
这是我所获得的作为VAR测试的价值和类型:测试值和类型
即使将类型设置为我的模型的类型,代码将其视为T。我如何访问"日"值?
这是我的第一篇文章,很抱歉,如果有些问题不好,请提前。
善意。
您怎么知道T
实际上具有day
属性?T
可能是什么。如果您期望列表包含所有workingHoursDbXls
对象,那么我建议不要使此方法通用:
public static void export(IList<workingHoursDbXls> data)
{
var test = data[1];
var x = test.day;
}
另外,您可以指定一些约束,以说您不在乎哪种类型T
,只要它具有day
属性:
public interface IHaveADay
{
string day { get; }
}
public static void export<T>(IList<T> data) where T : IHaveADay
{
var test = data[1];
var x = test.day;
}
然后,您需要更新workingHoursDbXls
类的声明,以说它实现IHaveADay
:
public class workingHoursDbXls : IHaveADay
{
...
}
如果访问 day
属性,则该方法只能与具有该属性的对象一起使用,并且只有将t限制到曝光它的接口时。
public static void export<T>(IList<T> data) where T: workingHoursDbXls
{
var test = data[1];
var x = test.day;
}