Когда _ _ proto _ _
полезно?
Его поддерживает множество браузеров, но поскольку не все это делают, программисты, похоже, боятся его использовать. Я никогда не видел его ни в одном коде (например, в библиотеках jQuery и backbone.js).
Когда _ _ proto _ _
полезен? Является ли это просто странной вещью для полноты?
Так что я c # noob. У меня есть быстрый вопрос, на который я не могу найти ответ нигде.
[Serializable()]
public class Dictionary
{
private Random m_RandomGenerator = new Random();
public int GetNext()
{
return m_RandomGenerator.Next(100);
}
}
Экземпляр Dictionary
загружается при каждом запуске программы, и этот код возвращает точно такую же последовательность чисел при каждом запуске. Под которым я имею в виду, каждый раз, когда исполняемый файл запускается. Конечно, значение времени, с которым оно заполнено, должно отличаться (DateTime.Now.Ticks я предполагаю?).
Пара моментов:
Кто-нибудь знает почему? Я дважды проверил, что я не создаю новый экземпляр словаря каждый раз, так что это не проблема.
Что ж, меня смущает. Как выясняется, виновником был атрибут [Serializable ()]. Используемый мною класс словаря был загружен из ранее экспортированного файла, который, очевидно, загружал начальное число обратно в Random (). Изменение переменной на статическую означает, что начальное значение больше не загружается из ранее сериализованного экземпляра, скрывая проблему.
Спасибо всем людям, предлагающим конструктивные советы!