簡體   English   中英

C#:如何在函數參數中傳遞對象?

[英]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.

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