如何知道类型是Visual Studio中的引用类型还是值类型

时间:2013-08-27 06:36:14

标签: vb.net visual-studio-2010 types reference copy

您如何知道typereference type还是value type。例如,根据about.com文章(http://visualbasic.about.com/b/2005/10/29/when-is-a-copy-not-a-copy.htm),integer type始终为value type,而array type可能是value type或{{{ 1}}。同样,在复制reference type时,必须使用cookiecontainer方法或clone()也可以吗?那将=创建=的副本或引用?

注意: 在我看来,通过在此代码中使用它的方式,cookiecontainer创建了一个副本。

来自:http://howtostartprogramming.com/vb-net/vb-net-tutorial-52-httpwebrequest-cookiecontainer/

=

更新1

来自MSDN(http://msdn.microsoft.com/en-us/library/t63sy5hs.aspx)所有Imports System.Net Imports System.Text Imports System.IO Public Class Form1 Dim logincookie As CookieContainer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim postData As String = "referer=http%3A%2F%2Fforums.zybez.net%2Findex.php%3Fapp%3Dcore%26module%3Dglobal%26section%3Dlogin&username=" & TextBox1.Text & "&password=" & TextBox2.Text & "&rememberMe=1" Dim tempCookies As New CookieContainer Dim encoding As New UTF8Encoding Dim byteData As Byte() = encoding.GetBytes(postData) Dim postReq As HttpWebRequest = DirectCast(WebRequest.Create("http://forums.zybez.net/index.php?app=core&module=global&section=login&do=process"), HttpWebRequest) postReq.Method = "POST" postReq.KeepAlive = True postReq.CookieContainer = tempCookies postReq.ContentType = "application/x-www-form-urlencoded" postReq.Referer = "http://forums.zybez.net/index.php?app=core&module=global&section=login&do=process" postReq.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)" postReq.ContentLength = byteData.Length Dim postreqstream As Stream = postReq.GetRequestStream() postreqstream.Write(byteData, 0, byteData.Length) postreqstream.Close() Dim postresponse As HttpWebResponse postresponse = DirectCast(postReq.GetResponse(), HttpWebResponse) tempCookies.Add(postresponse.Cookies) logincookie = tempCookies Dim postreqreader As New StreamReader(postresponse.GetResponseStream()) Dim thepage As String = postreqreader.ReadToEnd RichTextBox1.Text = thepage End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim request As HttpWebRequest = DirectCast(WebRequest.Create("http://forums.zybez.net/index.php?app=core&module=usercp"), HttpWebRequest) request.CookieContainer = logincookie Dim response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse) Dim reader As New StreamReader(response.GetResponseStream()) Dim theusercp As String = reader.ReadToEnd RichTextBox2.Text = theusercp End Sub End Class 均为classes,因此reference typescookiecontainer

1 个答案:

答案 0 :(得分:2)

这就是你想要的:

dim x = 100
dim isValueType = x.GetType.IsValueType