没有「抽象构造函数」?

自由建客 2013-04-11 02:18:09
public abstract class Item {
protected abstract Item(Int64 pid, Int64 id, Int64 lid); // 提示「修饰符“abstract”对该项无效」

...
}

public class Dir: Item {
public override Dir(Int64 pid, Int64 id, Int64 lid) { // 提示「修饰符“override”对该项无效」
...
}
...
}

我就是想让子类必须有这样三个参数的构造函数。
...全文
85 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gxingmin 2013-04-11
  • 打赏
  • 举报
回复
你在子类的写啊 public abstract class Item { protected Item(Int64 pid, Int64 id, Int64 lid) { } } public class Dir: Item { public Dir(Int64 pid, Int64 id, Int64 lid) : base(pid,id,lid) { //在这里写 } }
yqb_last 2013-04-11
  • 打赏
  • 举报
回复
abstract (C# 参考) abstract 修饰词可用於类别、方法、属性、索引子 (Indexer) 和事件。在类别宣告里使用 abstract 修饰词,表示该类别只是当做其他类别的基底类别而已。成员如果标记为抽象,或是包含在抽象类别 (Abstract Class) 内,则必须由衍生自此抽象类别的类别实作这个成员。 抽象类根本没有实作,又要衍生类来实作,构造函数又不可以继承,在抽象类中加构造函数和参数都是没有用的.我试过加上也不会报错.
自由建客 2013-04-11
  • 打赏
  • 举报
回复
Item 并不知道具体改怎么做,子类才知道。
gxingmin 2013-04-11
  • 打赏
  • 举报
回复
public abstract class Item {
    protected Item(Int64 pid, Int64 id, Int64 lid) 
    { 
    }



}

public class Dir: Item {
	public  Dir(Int64 pid, Int64 id, Int64 lid) : base(pid,id,lid)
    {

		
	}
	
}

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧