任何人都可以幫助我嗎?C#:使用反射來訪問類中的所有字段,返回錯誤
我有一些反射代碼,我寫了,它似乎工作正常,但它試圖將「this」傳遞給GetValue時給我一個錯誤。
我有點卡住了,我認爲問題在於我在frmMain中運行反射代碼,並且在另一個項目中定義了AbCCompany,但我有一個參考。
我得到錯誤
字段「AbcCompany」上型「MyApp.Companies.Config」定義不是目標對象,它是類型上的 字段「MyApp.frmMain」。
這裏是代碼..
var companies = MyIems.Companies.GetType().GetFields();
foreach (var list in companies)
{
List<CompanyBase> thisCompanyCollection = (List<CompanyBase>)list.GetValue(this);
foreach (var company in thisCompanyCollection)
{
Console.WriteLine();
}
}
編輯
我忘了提,內部「公司」是許多名單,其中xxx是一個類..所有的類繼承的CompanyBase。即AbcCompany
請出示MyItems.Companies'的'領域和CompanyBase'的'的聲明。 – Yahia