У меня есть класс A
, реализующий паттерн одноплодной и содержит object obj
:Используйте поле класса, который реализует Singleton шаблон в другом классе
public sealed class A
{
static A instance=null;
static readonly object padlock = new object();
public object obj;
A()
{
AcquireObj();
}
public static A Instance
{
get
{
if (instance==null)
{
lock (padlock)
{
if (instance==null)
{
instance = new A();
}
}
}
return instance;
}
}
private void AcquireObj()
{
obj = new object();
}
}
Теперь у меня есть еще один класс B, где нужно сохранить экземпляр А. объект obj, пока он не станет живым.
public class B
{
// once class A was instantiated, class B should have public A.obj
// field available to share.
// what is the best way/practice of putting obj here?
}
спасибо.
Не может ли класс B просто получить доступ к A.Instance.obj? Это инициализирует A, если он не был ранее инициализирован. – Vadim
Класс A не может быть инициализирован классом B. Класс A имеет собственный способ инициализации. – inside
Что вы подразумеваете под «собственным способом инициализации»? Разве это не Синглтон? – Vadim