每次实例化一个类时都执行代码,而与C#中的构造方法无关吗?

时间:2018-09-18 13:57:45

标签: c# unity3d constructor code-design

我想知道是否可以在每次实例化一个类时都运行一些代码,而不必调用该构造函数而无需将该代码显式地放入所有类的构造函数中。为了说明:

public class MyClass
{
    public MyClass()
    {
        //Other stuff....
        //...............
        //...............

        DoStuff();
    }

    public MyClass(Type parameter)
    {
        //Other stuff....
        //...............
        //...............

        DoStuff();
    }

    //Many constructors later...

    void DoStuff()
    {
        //Loads of magic stuff
    }
}

在这里,我理想地是不必向每个构造函数添加DoSuff。有没有一种神奇的方法来调用函数/每次调用构造函数时执行一些代码?这是C#,顺便说一句。

编辑: 我之所以这样问,是因为我想“覆盖”无法访问的构造函数。我实际上是针对另一个类,并且我想在实例化该类时调用DoStuff()。但是,我无法更改该类,因为我正在Unity3D中进行所有操作,而我所针对的类是Unity无法访问的本机类之一。我正在尝试做的事情看起来像这样:

public class MyClass : InaccessibleClass
{
    void DoStuff()
    {
        //Loads of magic stuff
    }

    //Somehow run DoStuff() whenever InaccessibleClass gets instantiated???
}

这可能吗?

0 个答案:

没有答案