我覺得這應該是非常可能的。確定一個類是否實現了一個接口而不引用它
我有一個接口,我們稱之爲IJerry。現在,我在變量x中有一個類。這個類完全實現了IJerry。事情是,那個班從來沒有提到IJerry。它只是發生與IJerry擁有完美兼容的簽名。
有意義嗎?假設您創建一個名爲MyClass的類實現INotifyPropertyChanged。然後你從類中刪除「MyClass:INotifyPropertyChanged」聲明,但是你在類中放置了實現。
有沒有辦法確定類是否「實現」了一個接口,即使它沒有明確的引用它?
C#不支持鴨子打字:http://en.wikipedia.org/wiki/Duck_typing – 2010-08-27 15:21:09
@Kirk,檢查鏈接中包含的信息。 – 2010-08-27 15:24:33
@安東尼,哦,我明白了。該文章提到使用**動態**關鍵字作爲替代品。國際海事組織,這不是「鴨子打字」,因爲它不提供一般操作滿足該合同類型的「類」的手段。它只是允許你「嘗試」調用該方法。 – 2010-08-27 15:54:58