Мне интересно, как создать конструктор класса по умолчанию.Я не хочу тратить ресурсы, поэтому я просто хочу, чтобы конструктор возвращал указатель на уже существующий экземпляр класса.
Это то, о чем я думал.Очевидно, что это не работает, но я хочу следовать логике этого кода.
public Sprite()
{
return Default.MissingSprite;
}
public Sprite(Texture2D texture, SpriteDrawMode drawMode)
{
if (drawMode != SpriteDrawMode.Sliced) throw new ArgumentException("...");
this.texture = texture;
this.drawMode = drawMode;
this.sliceFraction = Default.SpriteSliceFraction;
}
public Sprite(Texture2D texture, SpriteDrawMode drawMode, float sliceFraction)
{
this.texture = texture;
this.drawMode = drawMode;
this.sliceFraction = sliceFraction;
}
Я знаю, что конструкторы недействительны, поэтому я не могу вернуться в них.
Я НЕхочу просто присвоить значения экземпляру по умолчанию, так как это приведет к потере памяти, поскольку при этом будет просто создан дубликат экземпляра по умолчанию
//This is what I do NOT want
public Sprite()
{
this.texture = Default.MissingSprite.texture;
this.drawMode = Default.MissingSprite.drawMode;
this.sliceFraction = Default.MissingSprite.sliceFraction;
}
Возможно ли то, чего я пытаюсь достичь?Есть ли проблемы с дизайном в моем мыслительном процессе?