如何在c#中派生两个抽象类
本文关键字:两个 抽象类 派生 | 更新日期: 2023-09-27 18:04:08
我有应用程序结构-
public abstract class a
{
}
//defined in a.dll
public abstract class b
{
}
//defined in b.dll
//Above 2 DLL reference added in main project where I want to derive both of this abstract classee like
public abstract class proj : a, b
{
}
我只能推出其中的任何一个,而不能同时推出两个。所以请指导我错过的东西或错误的编码我做了
c#不能多重继承。但是,您可以通过使用接口来实现这一点。
public interface Ia
{
}
public interface Ib
{
}
public abstract class MainProject : Ia, Ib
{
}
c#接口只允许方法、属性、事件和索引器的签名。您必须在proj
(MainProgram)类中定义这些功能的实现。
public abstract class proj : a, b
这是不可能的。c#不允许多重继承
不是从多个抽象类派生(这在c#中是非法的),而是从两个接口派生(定义上是抽象的)。
不能同时从两个类派生。您应该使用接口。
public interface IFirstInterface
{
}
public interface ISecondInterface
{
}
public abstract class Proj : IFirstInterface, ISecondInterface
{
}
现在从Proj
继承的类仍然需要实现在两个接口中定义的所有方法和属性。