1
A
回答
3
那種破壞界面的觀點。如果你想在某些類中使用它,而不是其他類,那麼你可以這樣實現它,但是你必須首先將它轉換爲已知的類類型。
你也許可以使用一些反思下鋪設類類型檢查有你想,如果你想成爲真正挑剔它來調用(避免明知型投)
0
嘗試製作方法實現原接口看作是一種類之間的「中間人」和底層接口
public interface IFoo
{
string PropA { get; set; }
}
public interface IFooExtended
{
void MyMethod();
}
public class ConcreteFoo : IFooExtended
{
// implementation...
}
它一個新的接口不是「動態」,但是這可能會有幫助。
0
否 - 您可以在接口上添加擴展方法以實現類似的目標。
0
我認爲正確的做法是儘可能接近你想要實現的是創建一個新的繼承舊的接口。
喜歡的東西:
interface IMyInterface : IExistingInterface
{
void MyCustomMethod();
}
你會解決你的代碼的新界面。實現它的類將擁有新的方法以及繼承接口的方法。
你不能改變現有的接口,這將失去接口本身的目的。
0
如果你問,如果你想使用動態接口(例如,強類型的鴨打字像在Visual Basic),然後沒有,C#本身並不支持這一點。但你可以看看代碼項目文章Dynamic interfaces in any .NET language。
相關問題
- 1. 我可以調試動態添加的Ruby方法嗎?
- 2. 我可以在C#中的子接口中覆蓋父接口方法嗎?
- 3. 我們可以有一個虛擬的靜態方法嗎? (C++)
- 4. 我可以添加一個jQuery的動畫到updateprogress模板嗎?
- 5. 我可以在Swift中將方法添加到Realm類中嗎?
- 6. 我可以在主方法或任何方法中添加一個ActionListener()嗎?
- 7. 可以省略C#中抽象類中的接口方法嗎?
- 8. 我可以爲一個類的方法定義一個泛型typescript接口嗎?
- 9. 我可以在.NET API中「添加」靜態方法到現有的類嗎?
- 10. 你可以添加一個scrollTop方法到HTML正文嗎?
- 11. 我們可以在c#中使用接口實現多態嗎?
- 12. C#中可以重寫一個靜態方法嗎?
- 13. 多表連接 - 我可以添加一個外連接嗎?
- 14. 我可以枚舉JRuby中Java接口的實例方法嗎?
- 15. 我可以在JavaScript中的方法中添加一個對象嗎?
- 16. 我可以將泛型方法限制爲多個接口嗎?
- 17. 我們可以在C#.NET的接口中添加變量和屬性嗎?
- 18. 我可以向ApiController添加一個動作作爲擴展方法嗎?
- 19. 我可以動態地將字段添加到FormType表單嗎?
- 20. 我可以動態地將內容添加到框架嗎?
- 21. 我可以在我的Manifest中添加多個接收器嗎?
- 22. 我可以確定我自己的C#入口點方法嗎?
- 23. C#中的方法參數可以是動態的嗎?
- 24. 我可以添加一個EventHandler到一個字符串嗎?
- 25. 我可以用CCMenuItemSprite添加一個CCMenu到一個spritebatchnode嗎?
- 26. 我可以以編程方式添加iPad彈出窗口嗎?
- 27. 我可以添加一個方法到封閉
- 28. 我可以手動添加鏈接到LinkExtractor嗎?
- 29. 我可以將一個節點添加到樹而不添加到dataProvider中嗎?
- 30. 我們可以從c#中的Windows窗體調用接口方法嗎?
簡單的答案否..爲什麼你想這樣做? – Chandu
不,你不能那樣做,因爲如果接口方法不存在,那接口怎麼會這樣呢?它不知道。你可以做的最接近的事情是將接口方法轉換爲基礎類的對象,但是,這樣做會讓你失去多態能力。我對你的建議是重新思考你想要做什麼。 – Icemanind