簡體   English   中英

如何在控件中傳遞參數?

[英]How do I pass parameters in a control?

我想在下一行中傳遞一個字符串參數(名稱)。 我怎么做?

string name = "First Name";
//How do I pass "First Name" in the function?
tempControl.GetType().GetMethod("LoadAnswers").Invoke(tempControl, null);

您需要將參數的對象數組傳遞給Invoke方法:

tempControl.GetType().GetMethod("LoadAnswers").Invoke(tempControl, new object[] { name });

但是...我對為什么不只是在tempControl對象上調用方法感到困惑:

tempControl.LoadAnswers(name);

??

編輯

正如@Jason P在評論中提到的那樣,如果將控件轉換為正確的類型(出於參數MyUserControl ),則無需使用反射即可訪問該方法。 這將是一個更具可讀性和高性能的解決方案:

var myControl = (MyUserControl)tempControl;
myControl.LoadAnswers(name);

暫無
暫無

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

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