我正在尝试使用泛型编写简单的 C# 函数。例如数组解析器。
public static int parse_array <T> ( string str, ref T[] array )
where T : IConvertible<T>
{
string[] vals=str.Split(new char[]{'','\t',',',';'}, StringSplitOptions.RemoveEmptyEntries);
if( vals==null || vals.Length==0 )
return 0;
array = new T[vals.Length];
for( int i=0; i<vals.Length; i++ )
{
array[i] = Convert.ChangeType ( vals[i], T );
}
return vals.Length;
}
但我收到错误:非泛型类型“System.IConvertable”不能与类型参数一起使用。怎么了 ?