Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将泛型字段传递给可观察集合_C#_Generics - Fatal编程技术网

C# 如何将泛型字段传递给可观察集合

C# 如何将泛型字段传递给可观察集合,c#,generics,C#,Generics,我有如下代码 public class Field<T> { private T_fieldValue; public T FieldValue { get { return _fieldValue; } set { _fieldValue = value; } } } public class

我有如下代码

public class Field<T> 
{

    private T_fieldValue;

    public T FieldValue
    {
        get
        {
            return _fieldValue;
        }
        set
        {
            _fieldValue = value;

        }
    }

}


public class Container
{
    private ObservableCollection<Field> _fieldValues;


    public ObservableCollection<Field> FieldValues
    {

        get { return _fieldValues; }
        set { _fieldValues = value; }
    }
}
如何在容器类中传递我的类型参数

i、 我在找像这样的东西

  private ObservableCollection<Field<T>> _fieldValues;
编辑: 我对班级做了如下修改

public class Container<T> 
{

    public string MyName { get; set; }
    private ObservableCollection<Field<T>> _fieldValues;


    public ObservableCollection<Field<T>> FieldValues
    {

        get { return _fieldValues; }
        set { _fieldValues = value;}
    }
}

}
现在在我的主课上,我怎么能称之为

   new ObservableCollection<Container>() { MyName ="Kyle",

   new Container() { FieldValues = new ObservableCollection<Field<int>>()

  {new Field<int>(){FieldValue=10}}; // I am not sure if this syntax is correct 
您还需要将容器类设置为泛型:

class Container<T> : BindableBase
{
    private ObservableCollection<Field<T>> _fieldValues;
}
要创建泛型容器类的实例,可以使用与任何泛型类型完全相同的语法。例如,如果T是int,您将使用:

new Container<int>()

提取非通用接口?公共类容器:BindableBase还有问题吗,或者Peter现在已经回答了吗?如果是,请将其标记为已回答。但如果我的容器类具有其他非泛型值呢??例如:假设我的容器类包含一个“字符串”,那么我如何在我的mainclass中调用它???@kyle您可以有多个泛型参数,它只是类容器:BindableBase,您可以将其创建为新的Container@ScottChamberlain你能看看我更新的问题吗?@kyle:我不明白你的问题。您的代码示例不显示任何字符串或其他类型。正如Scott所说,如果您希望容器是泛型的,您总是可以添加一个参数。但我甚至不确定你问的是什么。请编辑您的代码示例,以便它清楚地显示您的意思。@PeterDuniho对此表示抱歉。。您已经更新了问题
new Container<int>()
FieldValues = new ObservableCollection<Field<int>>()