Существуют функции, которые вызывают другую функцию через имя (например: Invoke ).
Обычно я использую это так:
void Start()
{
Invoke("SelfDestroy", 2);
}
public void CancelDestroy()
{
CancelInvoke("SelfDestroy");
}
void SelfDestroy()
{
Destroy(gameObject);
}
Но я ленивый парень, поэтому я не хочу набирать одну строку несколько раз (я могу сделать опечатку), поэтому я делаю это так:
const string SELF_DESTROY_METHOD = "SelfDestroy";
void Start()
{
Invoke(SELF_DESTROY_METHOD, 2);
}
public void CancelDestroy()
{
CancelInvoke(SELF_DESTROY_METHOD);
}
void SelfDestroy()
{
Destroy(gameObject);
}
Но это все равно меня не устраивает, я хочу, чтобы постоянная строка SELF_DESTROY_METHOD
программно соответствовала методу SelfDestroy
, поэтому, если я изменю имя метода SelfDestroy
, значение постоянной строки SELF_DESTROY_METHOD
будет равно автоматически обновляется соответственно. Возможно ли это в C #?