2017-10-13 9 views
-2

たちは私たちが持っているインターフェース1とインターフェイス2を実装したクラス1、(I1I2と呼ばれる)diferenceオブジェクト、引数

があるとしますと。

I1を実装するクラスA、およびI2

は、今、私たちは2つのコンストラクタを持つクラスB持って言うことができます:コンストラクタ

A NewVarA = new A(); 
B NewVar = new B(A); 

:私たちがしなければ

Public B(I1 Argument); 

public B(I2 Argument); 

を呼び出されますか?

この順番でオブジェクトの種類が評価されますか? C#コンパイラは、コンパイルエラーが発生します理由です行動が明確に定義されていない

+3

あなたは私たちに尋ねる理由は、自分自身でテストしてください。 –

+0

おそらくC#タグはあなたが質問を理解していないことを意味します、私はこの種のコードから期待できる動作どんな一般的なプラクティスでも、単にコンパイル言語に依存しています。 –

答えて

0

は、彼が曖昧なコール

Take a look here

I`mかなり確信してほとんどのコンパイラはそれをキャッチすることを認めるであろう、しかし、とにかくそれは推奨された練習ではありません

関連する問題