2017-04-06 67 views
0

我正在編寫一個程序,使用了我沒有寫入的名稱空間。在這個名字空間裏面有一個叫做Message的類。現在這是我感到困惑的地方。我能夠編譯代碼類似於下面的是:帶有「隱藏」方法的C#類

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

我感到困惑的原因是,該方法Player不會在Message類存在,消息沒有繼承任何其他類。有人可以解釋這可能會發生嗎?我很樂意根據要求分享更多信息。

+4

可能有一個名爲'Player'的'Message'擴展名,它接受零個參數。 – Jonesopolis

+4

右鍵點擊播放器並選擇轉到定義。它把你帶到方法中,你可以親自看到它是什麼。你可能在看一個叫做Message的不同類,或者一個擴展方法(忍者編輯根本不受@Jonesopolis評論的啓發) – Will

+2

當你寫下Player方法時,看看intellinsense,看看它是否是一個擴展方法。 – dcg

回答

3

類可能不是「有」,即「申報」,但可以通過其他類作爲擴展

,你可以看看,因爲這question並在accpeted響應的代碼來提供,你可以看到,你可以爲其他類提供方法。即使他們被密封..

mayve這是你的情況發生了什麼。

+0

謝謝!我瀏覽了課堂的用法並找到了它。 – jeaboswell