我已將以下代碼簡化爲基本示例,但仍無法獲取要設置的值。當執行propertyInfo.SetValue()時,它會在我的Contact對象的setter上創建一個斷點,並在'setter'中正確設置該值。但是,執行SetValue()後,我的projectContact.Contact對象上的字符串屬性尚未更改爲「a」。任何想法,我可能在這裏做錯了嗎?無法獲取PropertyInfo.SetValue()來設置我的對象上的值
IEnumerable<ProjectContact> contacts = GetContactsByProject(projectId);
foreach (ProjectContact projectContact in contacts)
{
foreach (PropertyInfo propertyInfo in projectContact.Contact.GetType().GetProperties())
{
if (propertyInfo.PropertyType == typeof(string))
{
propertyInfo.SetValue(projectContact.Contact, "a", null);
}
}
}
是的,你釘了它!這是一個結構,而不是我的選擇:)今天學到了一些新東西! – JSprang 2010-08-09 19:14:42