我有app结构 -
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
{
}
我能够推导出任何一个而不是两者兼而有之。所以请指导我做错过的事情或错误的编码。
答案 0 :(得分:8)
您无法使用C#
进行多重继承您可以使用界面来实现此目的。
public interface Ia {
}
public interface Ib {
}
public abstract class proj : Ia, Ib {
}
接口仅允许方法,属性,事件和索引器的签名。您必须在proj
类中定义这些实现。
http://msdn.microsoft.com/en-gb/library/87d83y5b(v=vs.110).aspx
答案 1 :(得分:2)
public abstract class proj : a, b
这不可能。 C#不允许多重继承。
答案 2 :(得分:1)
您无法同时从两个类派生。您应该使用接口。
public interface IFirstInterface
{
}
public interface ISecondInterface
{
}
public abstract class Proj : IFirstInterface, ISecondInterface
{
}
现在继承自Proj
的类仍需要实现两个接口中定义的所有方法和属性。
答案 3 :(得分:0)
不是从多个抽象类派生(在C#中是非法的),而是从两个接口派生(根据定义是抽象的)。