0

TableAdapterは、DataAdapterのラッパーです。TableAdaptersを一般的な方法で使用することはできません(Componentクラスを継承するため)。ラップされたDataAdapterをTableAdapterから取得することは可能ですか?

4

2 に答える 2

1

ブライアンが指摘したように、テーブルアダプタは部分的なクラスです。DataAdapterを公開する場合は、次のコードでそれを実現できます。(TableAdapterクラスMyTableAdapterがあると仮定します。

public partial class MyTableAdapter
{
    public DbDataAdapter Adapter
    {
        get { return this._adapter; }
    }
}

または、リフレクションを使用してプライベートアダプタを返す汎用メソッド(または拡張メソッド)を作成することもできます。そうすれば、作成するすべてのテーブルアダプタに「触れる」必要がなくなります。

于 2010-02-26T14:54:47.280 に答える
0

各テーブルアダプターには、標準ではないデザイナーが生成したメソッドが含まれています...一般的な基本クラスを使用するのではなく、実装が簡単で失われないため、テーブルアダプターにインターフェイスを実装させることができるかどうかを調査します。強いタイピング。テーブルアダプタは部分的なクラスであり、クラスを作成できると思います。

public partial class MyTableAdapter : ISomeInterface

このインターフェースでカスタムメソッドを定義できます。部分的なことについてはよくわかりませんが、部分的なクラスであると確信しています。

于 2010-02-26T14:38:15.257 に答える