1
我有一個項目正在讀取從SQL Server視圖返回的行,讓我們調用視圖'Foo',並將這些行寫入一系列文件。使用LINQ2SQL引用我的項目中的視圖,Foo的結果稱爲'FooResults'。C#PropertyInfo GetValue()返回「對象與目標類型不匹配」
下面提供的方法接受要解析的對象的類型以及分隔符,寫入文件的路徑以及要解析的數據的通用列表。我已經指出拋出異常的位置。
public void WriteRecords<T>(T classType, string delimiter, string outputPath, List<T> data)
{
// Extract the property names and format as a delimited string
var properties = classType.GetType().GetProperties().ToList();
var headerLine = string.Join(delimiter, properties.Select(p => p.Name).ToArray());
var formattedHeaderLine = new[] { headerLine };
// Foreach line in the data provided, extract the values and format as delimited string
foreach (var d in data)
{
try
{
foreach (var pinfo in d.GetType().GetProperties())
{
// This is the line causing the problems
var value = pinfo.GetValue(pinfo, null);
}
}
catch (Exception ex)
{
var message = ex.Message;
}
}
}
唯一的例外是:
對象不匹配目標類型
有趣的是,這正是消息所說的。目標類型不匹配。 – usr