关于泛型类转换问题

toploveall 2009-09-15 09:26:55

public class ItemValue
{
/// <summary>
/// 项目名称
/// </summary>
private string _displayName;
public string DisplayName
{
get
{
return _displayName;
}
set
{
if (this._displayName != value)
this._displayName = value;
}
}

/// <summary>
/// 值
/// </summary>
private object _value;
public object Value
{
get
{
return _value;
}
set
{
if (this._value != value)
this._value = value;
}
}

/// <summary>
/// 被选择后的值
/// </summary>
private Boolean _selected;
public Boolean Selected
{
get
{
return _selected;
}
set
{
if (this._selected != value)
this._selected = value;
}
}

/// <summary>
/// 组号
/// </summary>
private int _groupNumber;
public int GroupNumber
{
get
{
return _groupNumber;
}
set
{
if (this._groupNumber != value)
this._groupNumber = value;
}
}

/// <summary>
/// 类型
/// </summary>
private DataType _valueType;
public DataType ValueType
{
get
{
return _valueType;
}
set
{
if (this._valueType != value)
this._valueType = value;
}
}
}


public class SingleChoice
{
/// <summary>
/// 选项键值对
/// </summary>
private List<ItemValue> _items;
public List<ItemValue> ItemValues
{
get
{
if (this._items == null)
_items = new List<ItemValue>();
return _items;
}
set
{

this._items = value;
}
}
}

怎么通过SingleChoice类中的ItemValues属性,来访问ItemValue类中的属性。
下面是我的错误代码

ItemValue itemValue = new SingleChoice().ItemValues;//此时,访问不了ItemValue 里的属性。

请问怎么才能访问ItemValue 类里的属性。
...全文
104 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yixianggao 2009-09-17
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 toploveall 的回复:]
怎么没有回答的了
[/Quote]
lz 难道不会调试么?!

item.DisplayName = this.dgvDisplay.Rows[e.RowIndex].Cells
["displayNameDataGridViewTextBoxColumn"].Value.ToString();

这是赋值语句,首先要排除
this.dgvDisplay.Rows[e.RowIndex].Cells
["displayNameDataGridViewTextBoxColumn"] 是否为 null
其次是 this.dgvDisplay.Rows[e.RowIndex].Cells
["displayNameDataGridViewTextBoxColumn"].Value 是否为 null

item.DisplayName 应该没有问题!
toploveall 2009-09-15
  • 打赏
  • 举报
回复
怎么没有回答的了
toploveall 2009-09-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yixianggao 的回复:]
C# codeItemValue itemValue=new SingleChoice().ItemValues;//此时,访问不了ItemValue 里的属性。// 这句应该这么写,但是此时 itemValues.Count == 0!List<ItemValue> itemValues=new SingleChoice().ItemValues;
itemValues.Add(new Item¡­
[/Quote]


private void dgvDisplay_CellLeave(object sender, DataGridViewCellEventArgs e)
{
List<ItemValue> itemValues = _singleChoice.ItemValues;
itemValues.Add(new ItemValue());
ItemValue item = itemValues[0];

//将光标所在行的displayNameDataGridViewTextBoxColumn列的值给item.DisplayName 属性
item.DisplayName = this.dgvDisplay.Rows[e.RowIndex].Cells
["displayNameDataGridViewTextBoxColumn"].Value.ToString();//此代码报错:未将对象引用设置到对象的实例。(报的是item未初始化的错吗)
}

toploveall 2009-09-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yixianggao 的回复:]
C# codeItemValue itemValue=new SingleChoice().ItemValues;//此时,访问不了ItemValue 里的属性。// 这句应该这么写,但是此时 itemValues.Count == 0!List<ItemValue> itemValues=new SingleChoice().ItemValues;
itemValues.Add(new Item¡­
[/Quote]
这个方法好像可以。我试试
yixianggao 2009-09-15
  • 打赏
  • 举报
回复
ItemValue itemValue = new SingleChoice().ItemValues;//此时,访问不了ItemValue 里的属性。

// 这句应该这么写,但是此时 itemValues.Count == 0!
List<ItemValue> itemValues = new SingleChoice().ItemValues;
itemValues.Add(new ItemValue());
ItemValue item = itemValues[0];
NewUser2008 2009-09-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 limeng315 的回复:]
SingleChoice().ItemValues是一个集合,ItemValue是集合中的一个成员,当然不能直接访问了,用楼上的迭代方法访问吧。
[/Quote]


up
limeng315 2009-09-15
  • 打赏
  • 举报
回复
SingleChoice().ItemValues是一个集合,ItemValue是集合中的一个成员,当然不能直接访问了,用楼上的迭代方法访问吧。
ljhcy99 2009-09-15
  • 打赏
  • 举报
回复
SingleChoice ch = new SingleChoice();
ItemValue v1 = new ItemValue();
ItemValue v2 = new ItemValue();
ItemValue v3 = new ItemValue();
v1.DisplayName = "V1";
v2.DisplayName = "V2";
v3.DisplayName = "V3";

ch.ItemValues.Add(v1);
ch.ItemValues.Add(v2);
ch.ItemValues.Add(v3);
foreach (ItemValue v in ch.ItemValues)
{
Console.WriteLine(v.DisplayName);
}
Console.ReadKey();
CsToD 2009-09-15
  • 打赏
  • 举报
回复
foreach(ItemValue itemValue in new SingleChoice().ItemValues)
{
..........
}

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧