【发布时间】:2010-11-10 00:23:33
【问题描述】:
为什么 XMLSerializer 不处理我的通用列表?
Sub Main()
Serializing()
End Sub
<System.Serializable()> _
Public Class User
Public Sub New()
End Sub
Public Sub New(ByVal Username As String, ByVal UserId As Integer)
Name = Username
ID = UserId
End Sub
Public Name As String
Public ID As Integer
End Class
Public Sub Serializing()
Dim Users As New List(Of User)
Dim u As New User
u.Name = "bob"
u.ID = 1
Users.Add(u)
u.Name = "bill"
u.ID = 2
Users.Add(u)
u.Name = "ted"
u.ID = 3
Users.Add(u)
Dim sw As New System.IO.StringWriter
Dim ser As New System.Xml.Serialization.XmlSerializer(GetType(List(Of User)))
ser.Serialize(sw, Users)
Debug.WriteLine(sw.ToString)
End Sub
我在“Dim ser”行出现异常,说“Testing.Module1 由于其保护级别而无法访问。只能处理公共类型。” (“Testing 是应用程序的名称,“Module1”是模块的名称;这是一个控制台应用程序)。
【问题讨论】:
标签: vb.net generics xml-serialization