自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

VB和C#的自動實現屬性

開發(fā) 后端
在.NET 4.0中,VB會像C#一樣加入自動實現屬性,但在實現方式上有所不同,情況本文給出的示例。

C#在3.0版本中添加了自動實現屬性,但是當時Visual Basic還沒有與之匹配的特性。即將發(fā)布的.NET 4.0版本中,VB在該領域迎頭趕上,但卻有所不同。C#中,自動實現屬性可以這樣編寫,如下所示:

  1. public string FirstName {getset;} 

Visual Basic則需要關鍵字Property,這表示它不需要get/set來對字段進行區(qū)分。但是,VB中的自動實現屬性對字段只有一個標記。

  1. Public Property FirstName As String 

對于VB和C#,該屬性都自動支持一個私有字段。在C#中,這個成員有一個自動生成的名稱,例如:“<FirstName>k__BackingField”。不用說,這個字段不能用一般的C#語法進行訪問。Visual Basic則缺乏這種創(chuàng)新性,它只不過在該屬性名前添加了一個下劃線。所以,如果屬性名為“FirstName”,那么對應的私有字段名為“_FirstName”。

直接訪問該支持字段讓很多事情變得都有可能。邏輯上來說,開發(fā)人員可以把該屬性標志為ReadOnly并在構造函數中設置它的值。然而,那并不可選。

盡管它有一定的局限,但實際上C#的靈活性更好。你可以標志set為private或protected,和訪問支持字段一樣有效。如下所示:

  1. public string FirstName {getprivate set;} 

兩種語言的局限在于它們仍沒有任何針對不可變對象的工具。如果想讓對象的屬性和字段都為只讀并可在構造函數中進行設置,那么我們仍然需要像在.NET 1.0那樣編寫代碼。

 

【編輯推薦】

  1. VB.NET中的動態(tài)代碼生成技巧
  2. C#和VB.NET類型相關知識匯總
  3. VB.NET中有用的通用對象列表
  4. .NET 4將對C#和VB一視同仁
  5. VB.NET和C#逐層橫向對比
責任編輯:佚名 來源: InfoQ
相關推薦

2009-08-27 10:01:52

C#自動屬性

2009-09-07 15:04:07

2009-08-18 16:57:24

VB.NET和C#

2009-08-17 17:08:35

C# ADSL自動撥號

2009-08-31 14:07:57

C# private字C# public屬性

2009-08-26 09:54:45

C#打印預覽C#打印

2009-04-28 10:23:58

VB.NETC#對比

2009-06-12 09:22:44

VB.NET類型C#

2009-09-01 17:41:45

C# HelpAttr

2009-09-11 12:17:59

C#控件屬性

2009-09-17 17:13:54

C#數組

2009-09-17 16:45:56

C#數組

2009-04-28 16:58:43

.NET 4C#VB

2009-11-03 14:13:23

VB.NET C#

2009-08-25 16:16:27

C#調用Windows

2009-09-04 13:55:04

C#文檔自動化

2024-09-23 21:00:57

C#反射

2009-08-26 16:46:06

C# ThreadSt

2009-08-21 15:57:58

C# DataSour

2024-09-23 16:55:18

C#代碼開發(fā)
點贊
收藏

51CTO技術棧公眾號