vb.net類屬性地址 vbnet region

在VB.net中如何取變量、結(jié)構(gòu)、數(shù)組、函數(shù)的地址?

當(dāng)然可以的,需要System.Runtime.InteropServices?命名空間中的?Marshal?類

在西烏珠穆沁等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都營銷網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站建設(shè)公司,西烏珠穆沁網(wǎng)站建設(shè)費(fèi)用合理。

Imports?System.Runtime.InteropServices?'這里一定要有?

Public?Class?Form1

Public?Structure?m_Point

Dim?x?As?Integer

Dim?y?As?Integer

End?Structure

Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click

Dim?i?As?Integer?=?50

Dim?ai()?As?Integer?=?{1,?2,?3,?4,?5}

Dim?pi?As?IntPtr?=?GCHandle.Alloc(i,?GCHandleType.Pinned).AddrOfPinnedObject()?'取得整形變量的指針?

Dim?pai?As?IntPtr?=?GCHandle.Alloc(ai,?GCHandleType.Pinned).AddrOfPinnedObject()?'取得整形數(shù)組首地址指針

MsgBox(Marshal.ReadInt32(pi,?0))?'讀回整形變量指針指向的值

MsgBox(Marshal.ReadInt32(pai,?0?*?4))?'讀回?cái)?shù)組的第一個(gè)元素

MsgBox(Marshal.ReadInt32(pai,?1?*?4))?'讀回?cái)?shù)組的第二個(gè)元素

MsgBox(Marshal.ReadInt32(pai,?2?*?4))?'讀回?cái)?shù)組的第三個(gè)元素

'-----下面是結(jié)構(gòu)--------------------------

Dim?m_p?As?New?m_Point

m_p.x?=?100

m_p.y?=?50

Dim?pm_p?As?IntPtr?=?GCHandle.Alloc(m_p,?GCHandleType.Pinned).AddrOfPinnedObject()?'取得結(jié)構(gòu)首地址指針?

MsgBox(Marshal.ReadInt32(pm_p,?0?*?4))?'讀回結(jié)構(gòu)的第一個(gè)值

MsgBox(Marshal.ReadInt32(pm_p,?1?*?4))?'讀回結(jié)構(gòu)的第二個(gè)值

End?Sub

End?Class

設(shè)置和重設(shè)vb.net的屬性

當(dāng)用戶可以設(shè)置或者得到屬性的值的時(shí)候,這些屬性就在改變。有此屬性可以在設(shè)計(jì)的時(shí)候改變。用戶可以在屬性窗口設(shè)置這些屬性的值,而不需要寫任何代碼,而有些代碼在設(shè)計(jì)的時(shí)候是不能改變的,所以必須在運(yùn)行的程序中寫入一些設(shè)置屬性的值的代碼。

那些可以在運(yùn)行的時(shí)候設(shè)置和讀取的屬性被稱作"read-write"屬性。而那些只能在運(yùn)行的時(shí)候讀取的代碼稱為"read-only"屬性。

1.設(shè)置屬性值

當(dāng)需要改變一個(gè)對象的外觀或者行為時(shí),就可以改變對象的屬性值。例如可以通過改變一個(gè)textbox控件的Text屬性值,來改變Textbox里面的內(nèi)容。

設(shè)置一個(gè)屬性的值,可以用以下的語法:

object.property=expression

如下一些實(shí)例:

TextBox1.Top=200 '讓Top屬性值為200

TextBox1.Visible=True '顯示TextBox

TextBox1.Text="hello" '在TextBox中顯示"hello"

2.得到屬性的值

當(dāng)代碼要對一個(gè)對象進(jìn)行一些操作時(shí),用戶可能需要得到一個(gè)對象的狀態(tài),例如,在對一個(gè)TextBox控件進(jìn)行下一步操作時(shí),可能需要得知TextBox的text屬性的值,等等。

通常情況下,用戶可以通過下面這樣的語法得到一個(gè)對象的屬性值:

variable=object.property

用戶可以把一個(gè)對象的屬性值作為一個(gè)復(fù)雜表達(dá)式的一部分,而不需要先把屬性值賦給一個(gè)變量再進(jìn)行計(jì)算,下面這個(gè)例子就是改變一個(gè)radio按鈕的屬性的代碼:

Private Sub cmdAdd_Click()

'[statements]

RadioButton1.Top=RadioButton1.top+20

'[statements]

End Sub

注意:如果用戶需要多次使用一個(gè)屬性值的話,那么先把屬性值賦給一個(gè)變量,將會使效率更快一點(diǎn)。

關(guān)于vb.net中屬性的定義

Property用于標(biāo)識一個(gè)類成員為屬性而不是方法.屬性可以被獲取,屬性在被獲以的時(shí)候利用get句柄返回其值.屬性可以被賦值,這個(gè)過程是由set句柄完成的.這兩個(gè)句柄可以不同時(shí)存在.如果只有g(shù)et而沒有set,那屬性就是只讀的.如果只有set而沒有g(shù)et,那屬性就是只寫的.

就是定義了兩個(gè)屬性:s_name和s_sex

Overridable 表示這個(gè)屬性可以被重載。

標(biāo)題名稱:vb.net類屬性地址 vbnet region
轉(zhuǎn)載源于:http://www.bm7419.com/article12/ddooddc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、Google、營銷型網(wǎng)站建設(shè)建站公司、靜態(tài)網(wǎng)站網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)