如何覆盖更丰富类型的接口方法中定义的参数?我有这些:publicclassTennisPlayer{}publicclassRogerFederer:TennisPlayer{}publicclassRafaelNadal:TennisPlayer{}然后我有一些这样的方法类:publicabstractclassManager{protectedabstractvoidScheduleFriendlies(TennisPlayerplayer);}publicclassRafaelNadalManager:Manager{publicvoidScheduleFriendlies(RafaelNadalrn){//抛出新的NotClayException();}}publicclassRogerFedererManager:Manager{publicvoidScheduleFriendlies(RogerFedererrf){//thrownewNotGrassException()//'}}RafaelNadalManager'没有实现继承的抽象成员'Manager.ScheduleFriendlies(TennisPlayer)'我想要实现的是我想要Manager子类,但是每个这样的类都将绑定到一个玩家,因此这些子类(Manager类)将特定于该玩家。换句话说,Roger应该有他的ScheduleFriendlies而Rafael应该有他的。我应该怎么办?替代设计可以,但请记住:我可以改变的是:遗留、路线等,但没有奢侈:摆脱子管理器类并将它们合并为一个(换句话说,我需要RogerFederer和RogerFedererManager作为单独的类)。我试过这个:publicabstractclassManager{protectedabstractboolScheduleFriendlies(Tplayer)whereT:TennisPlayer;}publicclassRafaelNadalManager:Manager{protectedoverrideboolScheduleFriendlies(Tplayer){//但是我如何强制调用方只能将RafaelNadal对象传递给此对象而不是RogerFederer?你很接近,但你需要类泛型,而不仅仅是方法:publicabstractclassManagerwhereT:TennisPlayer{}那么就可以使用:以上是C#学习教程:如何重写更丰富类型的接口方法中定义的参数?所有分享的内容,如果对你有用,需要进一步了解C#学习教程,希望大家多多关注——publicclassRafaelNadalManager:Manager{protectedoverrideboolScheduleFriendlies(RafaelNadalplayer){}}这个文章收集自网络,不代表任何内容,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
