【发布时间】:2014-06-26 06:37:47
【问题描述】:
我创建了一个名为MyGenList<T> 的自定义通用列表类。我已经覆盖了ToString() 方法,因此如果列表为空,则只显示对象的类型。
public override string ToString()
{
if (this.count == 0)
{
return this.GetType().ToString();
}
else
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < this.count; i++)
{
sb.Append(elements[i]);
sb.Append(System.Environment.NewLine);
}
return sb.ToString();
}
}
如果我有一个空字符列表,我希望显示GenericClasses.MyGenList<char>。但是,当前控制台显示GenericClasses.MyGenList1[System.Char]。你能指出我的错误吗?
【问题讨论】:
-
如果你不想看到这个值,你为什么不硬编码呢?类型为 GenericClasses.MyGenList1[System.Char]。
-
不,运行时类型是,设计时类型是 MyGenList
,其中 T 是任何东西。 OP 希望像 C# 那样在代码语法中显示类型。 -
MyGenList<List<int>>()或MyGenList<Dictionary<int,string>>应该显示什么?
标签: c# generic-list