![](/img/trans.png)
[英]In C# 3.5, How do you pass which method to call on an object as a parameter
[英]C#: How do you pass an object in a function parameter?
C#:如何在函數參數中傳遞對象?
public void MyFunction(TextBox txtField)
{
txtField.Text = "Hi.";
}
以上是否有效? 要么?
只要你不在另一個線程中,是的,代碼示例是有效的。 文本框(或其他窗口表單項)仍然是可以通過方法傳遞和操作的對象。
是的,那會有用。 你實際上並沒有傳遞一個對象 - 你傳遞了一個對象的引用 。
有關pass-by-ref和pass-by-value的詳細信息,請參閱“參數傳入C#” 。
對於任何引用類型,沒關系 - 您已經傳遞了對象的引用 ,但只有一個對象,因此調用者可以看到更改。
這是行不通的,主要時間是“結構”(值類型) -但他們真的不應該是可變的,反正(即它們不應該真的有可編輯的屬性)。
如果你需要用結構來做這個,你可以添加“ref” - 即
public void MyFunction(ref MyMutableStruct whatever)
{
whatever.Value = "Hi."; // but avoid mutable structs in the first place!
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.