0
我正在使用文件助手,我把我的課上[DelimitedRecord("|")]
可能從屬性獲取價值?
我想檢查,如果值是「|」如果不是那麼我想拋出一個例外..
public void WriteResults<T>(IList<T> resultsToWrite, string path, string fileName) where T: class
{
var attr = (DelimitedRecordAttribute)Attribute.GetCustomAttribute(typeof(T), typeof(DelimitedRecordAttribute));
if (attr.HasValue("|")) // has value does not exist.
{
FileHelperEngine<T> engine = new FileHelperEngine<T>();
engine.HeaderText = String.Join("|", typeof(T).GetFields().Select(x => x.Name));
string fullPath = String.Format(@"{0}\{1}-{2}.csv", path, fileName, DateTime.Now.ToString("yyyy-MM-dd"));
engine.WriteFile(fullPath, resultsToWrite);
}
}
我可以用什麼來檢查該屬性是在該類與該值?
編輯
這是我看到的可用屬性
雅我一直在尋找在MSDN的例子。我沒有看到任何可以使用期望的屬性,即TypeId什麼是對象。儘管存儲管道,但我沒有看到任何東西。 – chobo2
@ chobo2:如果沒有屬性暴露該值,則可能仍然可以通過反射來獲取它(通過反射肯定可以得到它,除非該值永遠不會存儲在實例中)。 –
@ chobo2:更新我的帖子,向您展示如何枚舉非公有字段(如果沒有公共屬性,最有可能存儲值的地方)。你需要檢查這些字段,看看是否擁有你以後的價值。 –