2016-12-05 6 views
1

私はインターフェイスにいくつかのプロパティを追加したので、既に実装されていたクラスに自分のインターフェイスを実装しようとしました。私が最初に実装された場合、既存のプロパティが暗黙的に実装された、つまり私は、このオプションを選択していた:私が行ったときに今「Implement Interface Explicitly」は時には利用可能で、「Implement Interface」(つまり暗黙的に)も使用できないのはなぜですか?

enter image description here

を私はインターフェイスに新しいプロパティを追加した後、それは同じことをやって再実装、私は明示的を実装するためのオプションを持っていた:

enter image description here

なぜこれが時々起こるのでしょうか?私はこれが "期待された"ものとして働く前にこれを何度もやったことがあります。そして、それは常に不足しているメンバの実装を追加するだけです。

+1

@エーザンサジャッド - 私はそれを知っています。それは実際には関係ありません。 –

+3

@エーザン・サジャド:質問によれば、明示的にインターフェイスを実装することが何を意味するのかを知っていると想定するのはおそらく安全でしょう。 – BoltClock

+0

Dammit、今私は再編集できません。私はコード例を取り上げようとしています。見つけたら投稿します。それでも、写真は自分のために語ります。 –

答えて

0

実際にそこにあるオプションで、実際にインターフェイスを暗黙的に実装するメソッドのスタブを追加すると、同じシグネチャを持つ2つのメソッドがあるのでコードはコンパイルされませんクラスのメソッドとして既にインターフェースのメソッドを持っています)。そのオプションのもう一つの本当の感覚的な振る舞いは、それが残されていたかどうかだけです(すでに暗黙の実装があるので)何もしないことです。

+0

本当ではない、私はこれを常に行う。それは欠けているものを追加するだけです。 –

+0

@ rory.apあなたは*欠けているものはありません。 – Servy

+0

私はそれを取得しません。 OPは彼がインターフェースを実装したクラスを持っていると言って、新しいメンバーをインターフェースに追加します。したがって、このメンバーはクラスでは見つからず、OPはそれを実装したいと考えています。 – Evk

関連する問題