2011-05-19 29 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;