DataTableまたはDataRowCollectionを受け取り、それをジェネリック型の配列に変換するメソッドを作成しようとしています。このようなもの:
public static T[] ConvertToArray<T>(DataTable dataTable)
{
List<T> result = new List<T>();
foreach (DataRow dataRow in dataTable.Rows)
result.Add((T)dataRow);
return result.ToArray();
}
問題はこの行です
result.Add((T)dataRow);
これにより、System.Data.DataRowをTに変換できなくなります。
ジェネリック型を使用せずに同じことを行い、オブジェクトのクラスにカスタム変換演算子が定義されていることを確認すると、コードは正常に機能します。
だから問題は今、ジェネリックを使用することのこれをどのように引き出すのですか?