2009-08-12 17 views
1
namespace RepositoryFactory.Interface 
{ 
    public interface ISelectionFactory<TIdentityObject> 
    { 

     DbCommand ConstructSelectCommand(Database db, TIdentityObject idObject); 
    } 
} 


namespace SafetypadDAL 
{ 
    public class T_INCIDENT_SelectFactory:ISelectionFactory<T_INCIDENT> 
    { 
     public DbCommand ConstructSelectCommand(Database db, T_INCIDENT idObject) 
     { 
      //my business codes will be here 

      return command; 
     } 
    } 
} 

これはそのプログラムです。C#インターフェイスメソッドが実装されていないと苦情を言います

ここで間違った署名は見つかりません。

+2

'SafetypadDAL.T_INCIDENT_SelectFactory'はインターフェイスメンバ 'RepositoryFactory.Interface.ISelectionFactory

+0

を実装していません。正しい方法を実装したと思われるかもしれませんが、そうではありませんでした。メソッドが正しいパラメータ型を取り、メソッド名のスペルが正しいことを慎重にチェックしてください。 –

+0

署名が正しいです。 – Partha

答えて

1

これを実装していません。あなたが好きな場合は、コードの関連部分を投稿してください。たぶんあなたはイベントを実行して正確な署名を取得するためにIDEに指示して実装を試みます。

+0

私は自分の質問を編集しました。私の質問を編集しました – Partha

4

ConstructSelectCommandというメソッドを実装している可能性がありますが、署名が間違っているため、メソッドと一致しません。

VS2005以降を使用している場合は、クラス宣言のインターフェイス名をクリックし、Ctrlキーとピリオド(ドット)を押します。それはあなたのためのメソッドスタブを生成するために提供します。

あなたが本当に正しいことをしたと思うなら、その方法の宣言を投稿してください。たとえば、公開してもよろしいですか? (または、もちろん明示的にインターフェイスを実装しました)

EDIT:2つのシグネチャのDatabaseが異なるタイプを参照する可能性はありますか? Visual Studioにスタブを生成させるという点で私が提案したことを試してみたらどうなりますか?

+0

を見てください。参照してください – Partha

+0

実際には、私はビジュアルスタジオインテリジェンスを使用して署名を生成していた。 – Partha

+0

Hmm ...通常Visual Studioでは、名前空間を含む型の完全な名前が使用されます。自分で名前空間を削除しましたか? 「データベース」にカーソルを合わせると、どのようなタイプが表示されますか? –

関連する問題