我想在創建csv文件之前使用System.Reflection輸出csv文本文件的列標題信息的第一行實際的通用列表從我的數據源。如何提取類對象的System.Reflection.PropertyInfo名稱作爲csv文件的第一行
public class DocMetaData
{
public const string SEPARATOR = "\t"; // horizontal tab is delimiter
public string Comment { get; set; }
public string DocClass { get; set; }
public string Title { get; set; }
public string Folder { get; set; }
public string File { get; set; }
}
在下面的程序中,我通過對象定義的屬性試圖環和使用屬性的名稱爲「列名」我的我的輸出文件的第一行:
private void OutputColumnNamesAsFirstLine(StreamWriter writer)
{
StringBuilder md = new StringBuilder();
PropertyInfo[] columns;
columns = typeof(DocMetaData).GetProperties(BindingFlags.Public |
BindingFlags.Static);
foreach (var columnName in columns)
{
md.Append(columnName.Name); md.Append(DocMetaData.SEPARATOR);
}
writer.WriteLine(md.ToString());
}
foreach循環立即退出。另外,我在類中放置了一個常量分隔符,但我想將其用作字段分隔符值(而不是「列」名稱)。
我假設如果我能得到像這樣的工作,類中的屬性的序數位置將保持一致。
從我的數據源創建List<DocMetaData>
的代碼的其餘部分工作,但我想添加此「第一行」的東西。
謝謝你對此的幫助。
你很棒,能幫助我。非常感謝 - 精美地工作。 –