Недавно начал баловаться с unity, стал смотреть примеры скриптов и наткнулся на такую конструкцию:
public class MakeFX : MonoBehaviour
{
private static MakeFX instance;
public static MakeFX Instance
{
get
{
if (instance == null)
instance = GameObject.FindObjectOfType<MakeFX>();
return instance;
}
}
...
}
После С++ для меня такая конструкция выглядит странно. Погуглив справку в msdn лучше не стало. Объясните, что это такое и зачем оно надо.
С точки зрения языка C# - это самое обычное имя свойства. С английского языка это слово переводится как "экземпляр".
Чаще всего подобное статическое свойство можно встретить при реализации шаблона проектирования (паттерна) "Одиночка" (Singleton).
Отмечу, что приведенный вами код не является канонической реализацией, поскольку единственный экземпляр класса создается кем-то снаружи, а не изнутри.
Это просто имя свойства, в данном случае переводится как "экземпляр". Просто так принято называть некоторые статические поля, особенно при реализации паттерна синглтон.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости