2011-02-24 20 views
3

說假設你有一個類的Visual Studio Shortcu /語法快速屬性賦值

public class Person 

{ 

public int PesronId{get;set;} 

public string FirstName{get;set;} 

public string LastName{get;set;} 

public string Gender{get;set;} 

} 

現在我們創建一個對象P1

Person p1 = new Person(); 

接下來我們從文本框的值被分配到P1 例如。

p1.PersonId = textbox1.text; 

p1.FirstName = textbox2.text; 

p1.LastName = textbox3.text; 

有沒有在Visual Studio 2010中這樣做,由我會得到這樣的事情

p1.PersonId = 

p1.FirstName = 

p1.LastName = 

讓我沒有爲P1手動鍵入屬性的更有效的方法。

或者是我可以使用的替代語法。

+0

同樣的問題......當你要建立每20桌的這些分配塊,並且每個表都有20和50之間專欄......我們正在談論很多打字......它肯定似乎可以填補這個空白。 – reidLinden 2014-01-22 17:31:40

回答

6

有更簡單的語法代碼:

Person p1 = new Person 
{ 
    PersonId = textbox1.Text, 
    FirstName = textbox2.Text, 
    LastName = textbox3.Text 
}; 

object initializer語法,在C#中引入了3

我想我會雖然誤解了問題 - 這聽起來像你只是想減少輸入需要。可能有些事情會這樣做,但我個人覺得IntelliSense本身就很好。之後的代碼可讀性比打字時間IMO重要得多。

您可能還想向Person添加構造函數以獲取所有相關的屬性值 - 這也會簡化一些事情,並且使用C#4的命名參數支持,您可以保持可讀性。

+0

ReSharper有一些IntelliSense擴展功能,可以進一步減少打字量,但總的來說,我同意你的看法。學會使用IS和CEPM(每分鐘的代碼元素)進一步發展。 – KeithS 2011-02-24 15:12:49

+0

謝謝你們,我會堅持 – Joseph 2011-02-24 15:25:49

1

您可以在C#中使用新的初始化功能:

這裏