NManikantan912 Ответов: 2

Как мне...вместо того, чтобы создавать новый объект каждый раз, когда я хочу использовать уже существующий созданный объект для доступа в C#


Вместо того чтобы каждый раз создавать новый объект я хочу использовать уже существующий созданный объект для доступа в C#

Что я уже пробовал:

Instead of creating new object everytime i want to use already existing created object for accessing in C#

if (obj1== null)
			{
				obj1= new obj1();
			}

2 Ответов

Рейтинг:
1

Midi_Mick

Это очень распространенный паттерн, называемый синглтоном, когда создается только один экземпляр объекта. Погуглите "Синглтонный паттерн", и вы найдете много чего об этом, но основная формула-это то, что у вас есть.

class MyClass {
    private MyClass();
    private static MyClass _instance = null;

    public static MyClass TheInstance {
        get {
            if (_instance == null)
                _instance = new MyClass();
            return _instance;
        }
    }
    ...
}

// Then when you want to use it:
MyClass.TheInstance.SomeMethod();
var value = MyClass.TheInstance.SomeProperty;


NManikantan912

я хочу использовать одни и те же экземпляры с изменением контента

Midi_Mick

Таким образом, вы добавляете свойства и/или методы, которые изменяют содержимое.

NManikantan912

для моего требования конструктор имеет один параметр

Рейтинг:
0

CPallini

Что ж, никто вам в этом не мешает. Если ваша переменная содержит допустимую ссылку на объект, то используйте ее. С другой стороны, если ваша переменная имеет только null затем вы должны создать экземпляр класса (используя правильный синтаксис, конечно).