C# windows窗体中泛型的使用
我希望使用Items属性创建自定义控件 返回实现C# windows窗体中泛型的使用,c#,.net,winforms,generics,coding-style,C#,.net,Winforms,Generics,Coding Style,我希望使用Items属性创建自定义控件 返回实现IList的类itemcollection安全吗,因为我在任何预构建控件中都没有看到这一点 实现这一点的最佳方式是什么 是的,你几乎可以用任何东西。一个表单就是一个类 您没有看到示例主要是因为WinForms是一种.NET1.0技术。自那时以来,几乎没有添加或更改 除非您需要特定的功能,否则请保持简单: public IList<ItemType> ItemsCollection { get ... set ... } publ
IList
的类itemcollection
安全吗,因为我在任何预构建控件中都没有看到这一点
实现这一点的最佳方式是什么 是的,你几乎可以用任何东西。一个表单就是一个类 您没有看到示例主要是因为WinForms是一种.NET1.0技术。自那时以来,几乎没有添加或更改 除非您需要特定的功能,否则请保持简单:
public IList<ItemType> ItemsCollection { get ... set ... }
public IList ItemsCollection{get…set…}
为控件创建从ILIst继承的类型的属性没有问题。但是,如果要构建控件,最好在设计时使用PropertyGrid使属性可编辑。要使其可编辑,您应该创建自己的从CollectionBase继承的项集合,并创建该类型的属性
查看本文:
之后,请不要忘记通过设置适当的属性,在设计时使Items属性可编辑:
[可浏览(true),DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
公共YourItems集合项目
{
获取{…}
集合{…}
}
+1-通常情况下,您不需要集合属性上的setter。对,或者将其设置为私有。我给它留了一点示意图,不想把事情理解成这个问题。