2017-04-06 4 views
0

私が書いていない名前空間を使ってプログラムを書いています。この名前空間には、Messageというクラスがあります。今私は混乱しているところです。私は以下のが何であるかのようなコードをコンパイルすることができる午前:"hidden"メソッドを持つC#クラス

void Func(Message message) 
{ 
    BasePlayer player = message.Player(); 
} 

私は混乱していた理由は、プレーヤーは、メッセージクラスとメッセージ内に存在しないメソッドは他のクラスを継承していないということです。誰かがこれがどう起こっているのか説明できますか?私はリクエストに応じてもっと情報を共有することができます。

+4

ゼロ引数を取る 'Player'と呼ばれる' Message'の拡張が存在する可能性があります。 – Jonesopolis

+4

Playerを右クリックし、定義に移動を選択します。方法に進むと、それが何であるかを自分で見ることができます。あなたはおそらくMessageという別のクラスや拡張メソッドを見ているでしょう(@Jonesopolisのコメントに触発されていないninjaの編集) – Will

+2

Playerメソッドを書き留めて、それが拡張子かどうかを調べるときにintellinsenseを見てください方法。 – dcg

答えて

3

クラスには、このquestionとして見ることができるとaccpetedレスポンスのコードであなたができることがわかります「と宣言」が、それは延長

として別のクラスによって提供されてもよいことを「持って」いないこと他のクラスのメソッドを提供します。たとえ封印されていても。

mayveはあなたのケースで起こっていることがあります。

+0

ありがとう!私はクラスの用法を見て、それを見つけることができました。 – jeaboswell

関連する問題