【发布时间】:2020-12-11 04:28:30
【问题描述】:
我对使用类进行编程非常陌生。我正在建立一个新程序,并希望给它一个新的、良好的结构,并希望与类一起工作。但是,我现在被困了两天......我有一个从面板继承的对象类。我想添加一个包含信息的列表。 IT 似乎几乎可以工作,但我主窗体中的属性窗口也显示了信息收集编辑器,但我收到了一个我似乎无法摆脱的错误。我做错了什么。
错误信息:
严重性代码描述项目文件行抑制状态 错误 Resx 文件无效。无法加载类型 System.Collections.Generic.List`1[[KRE_Interface.Info, KRE Interface, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 用于 .RESX 文件。确保已将必要的引用添加到您的项目中。第 915 行,位置 5。KRE 接口 D:\Dropbox\Dropbox\kre\KRESoftware\Alma 1 接口\20200820 KRE 接口 V6\KRE 接口\frmMain.resx 915
我的班级代码:
Public Class RbGroep
Inherits Panel
Private m_ItemsInfo As List(Of Info)
Public Sub New()
ItemsInfo() = New List(Of Info)
End Sub
Property ItemsInfo() As List(Of Info)
Get
Return m_ItemsInfo
End Get
Set(ByVal value As List(Of Info))
m_ItemsInfo = value
End Set
End Property
End Class
<Serializable()>
Public Class Info
Public Property Order As Integer
Public Property RbName As String
End Class
【问题讨论】:
-
该错误是针对不应包含代码的 .resx 文件发出的。也许你的项目布局有问题?
-
我将从一个全新的 fproject 和空表单开始..
-
我尝试了一个完整的空表单项目,我得到了相同的结果...我在表单上插入了一个按钮和类...我的项目如何“布局”?
-
您正在向 WinForms GUI 元素添加一个属性 - 一个控件。发生这种情况时,自动生成的设计器类(包括 .resx)将默认尝试序列化属性的默认值。如果您不打算这样做,解决它的最快方法是赋予属性以表明 .NET 不需要序列化它。有关信息,请参阅this answer。
-
由于您是编程新手,我建议您不要从继承/扩展 GUI 类开始 - 这会使事情变得更加复杂。最好通过使用它们按原样开始学习这些 GUI 元素。
标签: vb.net list class properties