将参数传递给集合的类型

时间:2019-07-29 15:17:05

标签: c#

将参数传递给类构造函数的简单方法是什么?

我想我需要从ObservableCollection派生以容纳该参数,但不确定最好的方法是什么。

// constructor
class MyClass(object myParam)
{ 
   // do something here
}

// usage

Items = new ObservableCollection<MyClass>();  // How do I pass myParam?

3 个答案:

答案 0 :(得分:2)

创建集合不会分配该类的任何对象。当您Items.Add(new MyClass(<argument>)执行此操作时,传递参数。

答案 1 :(得分:1)

可以通过以下方式

// 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)};

答案 2 :(得分:0)

完全可以这样写:

public MyClass(MyClass[] myParam)
{ 
   // do something here
}

类的代码可以将类本身用作类型。在本机C ++中,您必须提供一个原型来执行此操作,但是到.NET出现时,编译器才能够弄清楚这一点。

如果MyClass是通用集合,则代码如下:

class MyClassCollection : List<MyClass>{
  public MyClass(MyClass myParam){
    // do something here
  }
}

我不知道为什么您会认为-在所有集合类中-您需要从ObservableCollection派生。您可以从中衍生出,但没有任何强迫您选择的东西。