Только сейчас заметил, что C#
не обновляет свойства классов, в реальном времени.
Есть свойство в классе Str
:
private static readonly string str= !"".Equals(PlayerPrefs.GetString("str")) ? PlayerPrefs.GetString("str") : "str";
Когда я изменяю, где-то в другом месте:
PlayerPrefs.SetString("str", "str2");
И вызываю:
print(Str.str);
У меня выводит str
, за место заявленного str2
.
Срабатывает, только после перезапуска...
Что делать и как быть?
О том, чтобы выяснять это где-то в методе, я не считаю правильным.
Почему вообще так происходит и с чем связано, сие чудо?
В других языках, не наблюдал такого, например в Java
все работает должным образом.
А с чего str должна стать "str2"? Ты определил его до того, как записать новое значение в PlayerPrefs. Всё равно что удивиться следующему:
void Start () {
int a = 1;
aChange(a);
Debug.Log(a); // Почему в логе 1, а не 2
}
void aChange (int a) {
a = 2;
}
Это же не ссылка на объект, а значение. Либо ты ошибся с static
. Конструктор для static
вызывается всего 1 раз (первый) сколько бы экземпляров классов ты не создал. И в других языках это так-же... и в Java тоже... иначе как-бы у вас Singleton работал.
public static void LogTest () {
Debug.Log("Result 1: "+ValueStr);
ValueStr = "str2";
Debug.Log("Result 2: "+ValueStr);
}
static string SaveValueStr;
public static string ValueStr {
get {
if (SaveValueStr == "") {
SaveValueStr = PlayerPrefs.GetString("str");
if (SaveValueStr == "") { SaveValueStr = "str"; }
}
return SaveValueStr;
}
set {
SaveValueStr = value;
PlayerPrefs.SetString("str", SaveValueStr);
}
}
Используй модификаторы доступа get/set.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня есть панель с контролами, у некоторых Dock = DockStyleTop, у некоторых Bottom
вроде все правильно написал, но Drag enter не работаетallowdrop где находится я не нашел что можно сделать?
Существует сайт на вордпресс sitenameru , мне требуется создать отдельную версию, только для одной страны, которую будет перенаправлять на sitename
Значит такая проблема: при вызове https://url/check получаю ошибку 301 а при вызове https://url/check/ все отлично работает, но мне нужно чтоб работала https://url/check...