Это лишь одна из тысяч возможных «почти ошибок», которые может сделать программист. MS поймал большинство из них, на самом деле, иногда я удивляюсь, сколько предупреждений появляется.
они пропустили это.
Насколько это не меняет меня, это чертовски хорошо! Когда вы используете «я», он просто передает копию реального класса, с которым вы работаете, в целях безопасности. Если бы это сработало так, как вы надеялись, мы бы говорили о побочном эффекте GIANT . Вы невинно работаете с методами своего класса, и они BAM внезапно оказываются в совершенно другом объекте! Это было бы ужасно! Если вы собираетесь это сделать, вы также можете просто написать часть кода MS-Basic spagetti со строковым номером со всеми глобальными переменными, которые устанавливаются случайным образом, и без подпрограмм / функций.
То же самое происходит, если вы передаете аргументы в скобках. Например, это работает как ожидалось:
Assign(Reference_I_Want_To_Set, New Assigner)
Но это ничего не меняет:
Assign((Reference_I_Want_To_Set), New Assigner)
Если вы отражаете код вышеупомянутого типа, как предлагает adam101, вы увидите похожие результаты. Хотя это очень расстраивает из-за скобок, это очень хорошо с Me
!!!