5
A
回答
8
在IL中,这是可能的。在C#中:不。
您可以使用virtual
运行在该类型的构造函数之前A型方法,但它是鼓励和风险。但是:
class Foo {
public Foo() {
Console.WriteLine("Foo ctor");
SomeMethod(); // BAD IDEA (calling a virtual method in a ctor)
}
protected virtual void SomeMethod() {}
}
class Bar : Foo {
protected override void SomeMethod() {
Console.WriteLine("SomeMethod in Bar");
}
public Bar() : base() { /* only to show call order */
Console.WriteLine("Bar ctor");
}
}
这是一个糟糕的主意,因为你不能保证子类准备的方法调用。
0
你试图完成什么?也许你可以有一个从基类ctor调用的抽象方法?
+1
您觉得您需要这样做的事实表明您的设计或思维存在一些缺陷。我会建议仔细考虑你尝试这样做的动机。 – NeilDurant 2010-07-23 17:58:20
+0
对,这就是为什么我问这里的目标是什么。 – 2010-07-24 00:55:42
相关问题
- 1. 如何让父类构造函数在子构造函数之前运行? (PHP)
- 2. 基类构造函数在派生类构造函数之前真的调用
- 3. viewDidLoad在构造函数之前调用
- 4. 为什么在调用复制构造函数之前调用构造函数?
- 5. 父类的构造函数
- 6. Move构造函数调用基类移动构造函数
- 7. 从不同类的构造函数调用构造函数
- 8. Java:如何可以子类构造函数类中和父构造函数?
- 9. Java:如何调用子类构造函数内的超类构造函数?
- 10. 如何调用父类的构造从孩子的构造函数在C#
- 11. 构造函数中的调用基构造函数和其他构造函数
- 12. 子类构造函数 - 为什么必须为子类构造函数存在默认构造函数?
- 13. NavigateTo()函数在构造函数之前被调用?
- 14. 无参数构造函数调用2参数构造函数
- 15. 如何在其他构造函数中调用构造函数?
- 16. 在java中调用继承构造函数的构造函数
- 17. 隐式调用父构造函数
- 18. 父构造函数默认调用?
- 19. 调用父构造函数Java
- 20. 从参数化构造函数调用默认构造函数
- 21. 构造函数调用具有参数的构造函数
- 22. 调用派生类的构造函数在基类的构造函数之前执行
- 23. 类构造函数
- 24. 在调用超类的构造函数之前解析子类中的参数
- 25. 从另一个构造函数调用默认构造函数
- 26. 从构造函数调用构造函数
- 27. 有没有在JAVA中执行超类的构造函数之前的子类的构造函数?
- 28. 如何使用在子构造函数中创建的对象构造父类
- 29. PHP:从父类的静态方法调用子构造函数
- 30. 为什么在包含类的构造函数之前调用静态成员的构造函数?
+1令人沮丧! – 2010-07-23 17:21:21