C# 哪种类型将返回字段方法?

C# 哪种类型将返回字段方法?,c#,wpf,C#,Wpf,我不知道如何获得LINQ结果的类型。我的集合同时包含字符串和布尔,所以当我尝试对行进行操作时,会遇到麻烦。我用try/catch(笑一笑)附加了一个难以置信的粗糙训练,但它伤害了我的灵魂,我更希望知道获得类型的正确方法 private AppointmentInfoClass UpdateDataContext(DataSet phaseDataSet) { var phaseCollection = new AppointmentInfoClass();

我不知道如何获得LINQ结果的类型。我的集合同时包含字符串和布尔,所以当我尝试对行进行操作时,会遇到麻烦。我用try/catch(笑一笑)附加了一个难以置信的粗糙训练,但它伤害了我的灵魂,我更希望知道获得类型的正确方法

    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();非常感谢。