更新DataRow

时间:2017-09-17 19:59:45

标签: c# validation types datarow .net-core-2.0

我正在尝试在更新DataRow时验证类型。我使用以下代码:

        public static int Write<T>(T data, DataRow row, string FieldName)
        {
        if (null == data)
        {
            row[FieldName] = row.Table.Columns[FieldName].DefaultValue;
        }
        else
        {
            if (row.Table.Columns[FieldName].DataType is T)
            {
                row[FieldName] = data;
                return 0;
            }
            else
            {
                try
                {
                    row[FieldName] = (row.Table.Columns[FieldName].DataType)Convert.ChangeType(data, row.Table.Columns[FieldName].DataType);
                }
                catch (InvalidCastException)
                {
                    return 1;
                }
            }
        }
        return 0;
    }

但它不起作用。在if row.Table.Columns[FieldName].DataType is T上,我将GUID列与GUID进行了比较并返回false。 部分(row.Table.Columns[FieldName].DataType)Convert.ChangeType(data, row.Table.Columns[FieldName].DataType);我有语法错误,(row.Table.Columns[FieldName].DataType)无效。

我愿意接受其他类型的验证。

0 个答案:

没有答案