如何在构造函数完成后立即调用方法?

时间:2010-12-17 11:41:58

标签: c# constructor

每次执行构造函数时如何调用方法? 换一种说法, 在一个类中,一旦构造函数完成,我可以以某种方式调用另一个方法吗?

4 个答案:

答案 0 :(得分:2)

您可以将该方法作为构造函数的最后一行。

或者,如果您不拥有该课程,您可以选择面向方面编程(http://en.wikipedia.org/wiki/Aspect_oriented_programming

答案 1 :(得分:2)

没有。除非你在构造函数中强调

或者您可以使用其他方法,例如Init(),但客户需要记住才能调用它。

答案 2 :(得分:0)

如果我理解你的问题,那么这就是你需要的吗?

public class SomeMethod
{
    public SomeMethod()
    {
       anotherMethod();
    }

    public void anotherMethod()
    {
    }
}

答案 3 :(得分:0)

对于可继承类,语法无法将构造函数的调用限制为从另一个例程中调用的代码。可能的是让构造函数抛出一个立即异常,除非它被赋予一个有效的特殊标记,只能通过使用委托调用的特殊例程获得,并创建标记,将其传递给委托,然后使其无效在委托返回或抛出之后。那个例程也可以在传入的委托返回或抛出之后做任何需要做的事情。

相反,这是一个讨厌的笨拙的黑客,但不幸的是,这是我知道的基类构造函数的唯一方法,确保在派生类构造函数抛出异常时清理它拥有的任何非托管资源。