C# Visual Studio Designer一直在尝试初始化我的集合属性

C# Visual Studio Designer一直在尝试初始化我的集合属性,c#,.net,visual-studio,winforms,C#,.net,Visual Studio,Winforms,我创建了一个名为CatalogBrowser的用户控件,它具有一个属性ListedFamilies,该属性公开控件中当前列出的族对象。这是物业的代码 public List<Family> ListedFamilies { get { List<Family> returnList = new List<Family>(); foreach (Object obj in this.familyObjectListV

我创建了一个名为
CatalogBrowser
的用户控件,它具有一个属性
ListedFamilies
,该属性公开控件中当前列出的
对象。这是物业的代码

public List<Family> ListedFamilies {
     get {
         List<Family> returnList = new List<Family>();
         foreach (Object obj in this.familyObjectListView.Objects) {
             returnList.Add((Family)obj);
         }
         return returnList;
     }
     set {
         this.familyObjectListView.ClearObjects();
         this.familyObjectListView.Objects = value;
     }
 }
public List ListedFamilies{
得到{
List returnList=新列表();
foreach(此.familyObjectListView.Objects中的对象对象){
返回列表。添加((系列)obj);
}
退货清单;
}
设置{
this.familyObjectListView.ClearObjects();
this.familyObjectListView.Objects=值;
}
}
现在,在我使用此控件的表单中,Visual Studio在表单的设计器文件中添加以下行时一直遇到问题

this.catalogBrowserControl1.ListedFamilies = ((System.Collections.Generic.List<SOMLib.Family>)(resources.GetObject("catalogBrowserControl1.ListedFamilies")));
this.catalogBrowserControl1.ListedFamilies=((System.Collections.Generic.List)(resources.GetObject(“catalogBrowserControl1.ListedFamilies”));
这会导致程序崩溃,因为我的项目中没有(或不希望)资源来初始化此集合属性的值

public List<Family> ListedFamilies {
     get {
         List<Family> returnList = new List<Family>();
         foreach (Object obj in this.familyObjectListView.Objects) {
             returnList.Add((Family)obj);
         }
         return returnList;
     }
     set {
         this.familyObjectListView.ClearObjects();
         this.familyObjectListView.Objects = value;
     }
 }

如何防止Visual Studio自动尝试初始化此属性?

一个技巧是将
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
属性添加到属性中

public List<Family> ListedFamilies {
     get {
         List<Family> returnList = new List<Family>();
         foreach (Object obj in this.familyObjectListView.Objects) {
             returnList.Add((Family)obj);
         }
         return returnList;
     }
     set {
         this.familyObjectListView.ClearObjects();
         this.familyObjectListView.Objects = value;
     }
 }