2016-07-06 6 views
-2

私はいくつかのコードを読もうとしています。それはこれらのインターフェースを持っていますが、その中には空の見た目のタスクしかありません。これらは他の.csファイルで呼び出されていますが、何も起こっていないようです。インターフェイスのロジックが見つかりません

例:

 public interface IProductSubmitter 
    { 
    Task SubmitAsync(); 
    } 

私はそれがどこにも行かない方法でF12。これは道路の「終わり」です。

は別の方法では、それはそうのように使われています:右方向に

private IProductSubmitter Submitter {get;} 

    public async Task SubmitProductAsync(Product product) 
    { 
     await this.Submitter.SubmitAsync(); 
     ... 
    } 

任意のポインタは素晴らしいことです。私は既にC#のインターフェイスに行きましたが、それらはタスク内にロジックを含んでいるようです。

+2

実際に何が起こっているかを確認するには、これらのインターフェイスの実装を見つける必要があります。インターフェイスで契約を定義するだけです。 – NWard

+4

入手可能な最も重要な/直接のポインタ:C#チュートリアルを読む –

+1

インターフェイスにはロジックが含まれていません。インターフェイスを実装するクラスが公開する必要があるコントラクトまたはAPIのみが含まれます。この場合、非同期メソッドが公開されています。実際のロジックを見るためには、実際に実装するクラスを掘り下げる必要があります。 – juharr

答えて

3

Visual StudioのF12は、実装ではなくメンバーの定義に行きます。そのため、あなたはインターフェイスに持ち込み、インターフェイスを実装するクラスではありません。

実装に簡単にアクセスしたい場合は、Is there a way to navigate to real implementation of method behind an interface?を参照してください。

+0

リンクを貼っただけの指示をコピーするのは難しいですか? –

+0

@cFrozenDeath - OPは、おそらく既存のSOの回答を盗聴することを避けたいと考えています。 – BSMP

+1

@BSMPあなたはちょうどそれが何らかの理由で削除された場合のために、答えの関連部分をコピーしてリンクすることができます –

関連する問題