2011-05-19 31 views
7

我想知道在C#中是否有一個命令,我可以在Delphi中使用像with command是否有一個相當於德爾福在C#中的「with」命令?

// like this : 
with(textbox1) 
{ 
    .text="some text as text of text box"; 
    .tag=1231; 
} 
在Delphi

//

with edit1 do 
begin 
    text="some text as text of edit1"; 
    tag=1231; 
end; 
+1

任何C#基礎教程應該以及如何使用它們... – RBA 2011-05-19 08:08:11

+0

至於其他的答案都正確地指出了基本的關鍵字這個構造在C#中不存在,但是它存在於Visual Basic .NET中 – MattDavey 2011-05-19 08:10:41

+0

@Matt更好的是,VB等價物具有解決Pascal「with」問題的大部分問題的語法。 – 2011-05-19 09:33:43

回答

14

不適用於已經創建的實例。

然而,當你創建一個新的實例,你可以這樣做:

var textbox1 = 
    new Textbox 
    { 
     Text = "some text as text of text box", 
     Tag = 1231 
    }; 
+0

非常感謝這麼多人 – Mohsen 2011-05-19 08:53:19

12

不,不C#中存在。

+3

現在好了,那是一個意想不到的獎勵... :-) – 2011-05-19 08:57:42

+1

爲什麼?如果它能夠實現的話,可能會像VB.NET的'with'這樣比Delphi的好多了。 – 2011-06-29 17:33:55

4

不,它不會在C#中存在,但是,當創建一個對象,你可以這樣做:

var textbox1 = new TextBox { 
    Text = "some text as text of text box"; 
    Tag = 1231 
}; 
-1

有一種叫using的東西,但是與Delphi/Pascal相比,它更像try/finally。

-1

沒有,但取決於你正在嘗試做的,下面的工作:

TextBox t = textbox1; 

t.text="some text as text of text box"; 
t.tag=1231;