带对象的全局静态类

Cor*_*ory 4 c# oop static

好的,所以我知道你不能在静态类中拥有对象,但是我需要一个可以容纳可以从不同类访问的对象的类.我正在制作一个dll,它将为另一个程序提供扩展功能,所以我不能只是继承或传递类.如果需要,我可以只是使每个对象的属性我需要在静态类,这将工作,但不是我想要的友好.谁有关于如何完成这样的事情的任何其他想法?

Rei*_*ica 12

实际上,您可以在静态类中拥有对象 - 它们只需要是静态对象.

例如:

public static class SharedObjects
{
    private static MyClass obj = new MyClass();
    public static MyClass GetObj() 
    {
        return obj;
    }
}
Run Code Online (Sandbox Code Playgroud)

从程序的其他地方,您可以调用实例方法/属性/等:

SharedObjects.GetObj().MyInstanceMethod();
Run Code Online (Sandbox Code Playgroud)

  • 在这种情况下,请检查MyClass的访问修饰符.它需要是公开的而不是私人的或内部的. (3认同)