ジェネリックスを使って単純な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」をtype引数と一緒に使用することはできません。どうしたの ?