我的代码如下
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; }
}
}
如何在容器类中传递我的Type参数?
即我正在寻找像
这样的东西 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;}
}
}
}
现在在我的Main课程中如何调用类似
的内容 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
答案 0 :(得分:0)
您还需要使Container
类通用:
class Container<T> : BindableBase
{
private ObservableCollection<Field<T>> _fieldValues;
}
如果T
始终考虑到特定的Container
参数类型,那么您当然可以对其进行硬编码:
class Container : BindableBase
{
private ObservableCollection<Field<SomeSpecificType>> _fieldValues;
}
要创建通用Container<T>
类的实例,请使用与任何泛型类型相同的语法。例如,如果T
为int
,您可以使用:
new Container<int>()
然后,您可以在更新的示例中指定FieldValues
属性。即:
FieldValues = new ObservableCollection<Field<int>>()