函数引用其他函数C#创建的实例

guy*_*913 4 c# instance

我有一个可能很愚蠢的问题,但我是C#的新手,所以请原谅我的傲慢.我想知道函数是否有可能引用一个由另一个函数创建的实例.

我包含一个示例代码来说明我的意思:

class Program
{
    static void Main(string[] args)
    {
        Instantiator.Instantiate();
        Referent.Refer(instance);
        Console.ReadLine();
    }
}

public class Instance
{
    public void OnInstantiated()
    {
        Console.WriteLine("I have been instantiated.");
    }
    public void OnReferred()
    {
        Console.WriteLine("I have been referred to.");
    }
}

public class Instantiator
{
    public static void Instantiate()
    {
        Instance instance = new Instance();
        instance.OnInstantiated();
    }
}

public class Referent
{
    public static void Refer(Instance instance)
    {
        if(instance != null)
        {
            instance.OnReferred();
        }
        else
        {
            Console.WriteLine("No instance to refer to.");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以使用什么来引用Referent.Refer函数中的"实例"实例(由Instantiator.Instantiate函数创建)?

在此先感谢您的相关意见!

Sco*_*ain 8

完成后Instantiator返回课程

public class Instantiator
{
    public static Instance Instantiate()
    {
        Instance instance = new Instance();
        instance.OnInstantiated();
        return instance;
    }
}

class Program
{
    static void Main(string[] args)
    {
        var instance = Instantiator.Instantiate();
        Referent.Refer(instance);
        Console.ReadLine();
    }
}
Run Code Online (Sandbox Code Playgroud)

模式Instantiate()正在做的通常被称为" 工厂模式 "