我有這樣的代碼在我的C#模塊:接口檢測反射
if (customer is IBuyer) { customer.WaiveServiceFee(); }
編譯沒有問題,只要客戶是實現IBuyer的對象。但是使用條件的整個想法是測試客戶對象是否實現了IBuyer。如果它沒有,我得到一個編譯時錯誤,客戶不包含WaiveServiceFee的定義(WaiveServiceFee是由IBuyer實現產生的方法 - 當然,它不是客戶類的一部分)。
我對C#不熟悉,不知道如何在運行時使用上面的邏輯來調用WaiveServiceFee,並且使程序可編譯?
謝謝。
考慮命名臨時變量'buyer'而不是混淆的縮寫'cust'。 –
@EricLippert改變:) –