我有一个具有字符串方法的泛型。如果泛型的类型是容器(数组、IEnumerable 等),它们的值应该用逗号分隔。
public class Test<T>
{
public T GenericProperty { get; set; }
public override string ToString()
{
string ret;
if (GenericProperty is Array || GenericProperty is IEnumerable)
{
ret = String.Join(",", GenericProperty);
}
else
{
ret = GenericProperty.ToString();
}
return ret;
}
}
我想通过向它添加一个 linq 表达式 ( Select(x => x.ToString()
) 来测试它,但是 linq 不可用。
当我调试上面的代码时, if 子句被正确执行。但我只得到“System.Int32[]”作为结果。
我怎样才能做到这一点?