簡體   English   中英

.NET反射PropInfo.GetValue()在靜態上下文中

[英].NET Reflection PropInfo.GetValue() in a static context

我遇到了一個奇怪的問題

讓我告訴你我的代碼

private static void OnMyCustomPropertyChanged(Object sender, EventArgs e)
{
    PropertyInfo propInfo = e.GetType().GetProperty("PropName");
    String propName = propInfo.GetValue(?,?).ToString();
}

問題是,我提到代替兩個問號,第二個參數是null,據我所知,因為它不是索引屬性。 當我使用propInfo / propInfo.GetType()。GetProperty(“PropName”)/ sender,代替第一個“?”時,我得到一個異常 - TargetException未被用戶代碼處理。

我想知道是否有人可以幫我解決這個問題以及可能的解釋。 我想知道我在哪里弄錯了。

第一個參數必須是要從中獲取值的實例。

在您的示例中,您應該將e作為參數傳遞,因為您正在獲取e對象的屬性。

話雖這么說,我懷疑你想要sender實例的屬性:

PropertyInfo propInfo = sender.GetType().GetProperty("PropName");
String propName = propInfo.GetValue(sender, null).ToString();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM