[英]Pass parameter to collection's type
将参数传递给类构造函数的简单方法是什么?
我在想我需要从ObservableCollection派生以容纳该参数,但不确定最好的方法是什么。
// constructor
class MyClass(object myParam)
{
// do something here
}
// usage
Items = new ObservableCollection<MyClass>(); // How do I pass myParam?
创建集合不会分配该类的任何对象。 当您执行Items.Add(new MyClass(<argument>)
将在此时传递参数。
可以通过以下方式
// class
class MyClass
{
// constructor
public MyClass(object myParam)
{
}
}
// make a object
object param = new object();
// pass param
var Items = new ObservableCollection<MyClass>(){new MyClass(param)};
完全可以这样写:
public MyClass(MyClass[] myParam)
{
// do something here
}
类的代码可以将类本身用作类型。 在本机C ++中,您必须提供一个原型来执行此操作,但是到.NET出现时,编译器才能够弄清楚这一点。
如果MyClass是通用集合,则将是以下代码:
class MyClassCollection : List<MyClass>{
public MyClass(MyClass myParam){
// do something here
}
}
我不知道为什么您会认为-在所有收集类中,都需要从ObservableCollection派生。 您可以从中衍生出,但没有任何强迫您选择的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.