C# 哪种类型将返回字段方法?
我不知道如何获得LINQ结果的类型。我的集合同时包含字符串和布尔,所以当我尝试对行进行操作时,会遇到麻烦。我用try/catch(笑一笑)附加了一个难以置信的粗糙训练,但它伤害了我的灵魂,我更希望知道获得类型的正确方法C# 哪种类型将返回字段方法?,c#,wpf,C#,Wpf,我不知道如何获得LINQ结果的类型。我的集合同时包含字符串和布尔,所以当我尝试对行进行操作时,会遇到麻烦。我用try/catch(笑一笑)附加了一个难以置信的粗糙训练,但它伤害了我的灵魂,我更希望知道获得类型的正确方法 private AppointmentInfoClass UpdateDataContext(DataSet phaseDataSet) { var phaseCollection = new AppointmentInfoClass();
private AppointmentInfoClass UpdateDataContext(DataSet phaseDataSet) {
var phaseCollection = new AppointmentInfoClass();
var Type = phaseCollection.GetType();
var properties = Type.GetProperties();
var result = from DataRow myRow in DataBindings.CompanyAppsDataSet.Tables[0].Rows
where (int)myRow["AppointmentID"] == ApptID
select myRow;
var k = 0;
foreach (DataRow row in phaseDataSet.Tables[0].Rows) {
string header;
header = row.Field<string>("Header");
foreach (var field in result) {
try {
properties[k].SetValue(phaseCollection, field.Field<string>(header));
}
catch (Exception) {
properties[k].SetValue(phaseCollection, field.Field<bool>(header).ToString());
}
}
k++;
}
return phaseCollection;
}
private AppointmentInfoClass UpdateDataContext(数据集阶段数据集){
var phaseCollection=新任命信息类();
var Type=phaseCollection.GetType();
var properties=Type.GetProperties();
var result=来自DataBindings.CompanyAppsDataSet.Tables[0]中的DataRow myRow
其中(int)myRow[“AppointmentID”]==ApptID
选择myRow;
var k=0;
foreach(phaseDataSet.Tables[0].Rows中的DataRow行){
字符串头;
标题=行字段(“标题”);
foreach(结果中的var字段){
试一试{
属性[k].SetValue(phaseCollection,field.field(标头));
}
捕获(例外){
属性[k].SetValue(phaseCollection,field.field(header.ToString());
}
}
k++;
}
返回相位采集;
}
它将返回您编写的类型,而不是类型
string s = field.Field<string>("ColumnName");
bool b = field.Field<bool>("ColumnName");
string s=field.field(“ColumnName”);
bool b=field.field(“ColumnName”);
你到底想在这里做什么?什么是标题
?请注意,您的result
将是DataRow
对象的集合,因此通过result
枚举将不会给您提供字段,而是行。很抱歉,缺少上下文,我用完整的函数更新了我的原始帖子。为了确保,您存储了要检索的数据列的名称(标题)输入一个名为“Header”的数据列,您想确定存储在“Header”中的数据列的类型吗?好的,我明白了。我仍然会将字段
重命名为类似resultRow
的名称,因为这有点让人困惑。您是否尝试过使用field[header]
而不是field.field(header)
?这将返回一个对象
。不过我还是不确定这是怎么回事。维桑,这就是我要找的!Type Type=字段[header].GetType();非常感谢。