C#自动投射接口方法

时间:2015-11-11 17:29:53

标签: c# interface casting abstract

我有一个在其签名中使用抽象类的接口。然后我的实现在其签名中使用抽象类的子类,但这是不允许的。有人可以帮我吗?我在googles上找到的只是通用接口和抽象类实现......

public MyAbstractClass {
    abstract public void myMethod();
}

public MySubClass : MyAbstractClass {
    override public void myMethod(){
        ...
    }
}

然后我有我的界面/实现..

public interface MyInterface {
    MyAbstractClass myInterfaceMethod(MyAbstractClass blah);
}

public MyImplementation : MyInterface {
    MySubClass myInterfaeMethod(MySubClass blah){
        ...
    }
}

但是我收到一个错误,说myInterfaceMethod没有实现接口方法......

帮助?

1 个答案:

答案 0 :(得分:6)

你不能这样做,因为它违反了界面。但是,您可以class LinkDetailView(FormMixin, DetailView): models = Post queryset = Post.objects.all() """DON'T KNOW HOW TO PASS SELF.OBJECT TO THE FUNCTION """ send_increment_clicks[self.object] def get_success_url(self): ... def get_context_data(self, **kwargs): ... 通用。

MyInterface