繁体   English   中英

将参数传递给集合的类型

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM