Когда вы переходите от A к B, ваша история выглядит следующим образом:
pushState
, ваша история будет выглядеть следующим образом:
Когда вы закроете модал с помощью кнопки и вызовете replaceState
, ваша история будет выглядеть так:
Это не то, что вы хотите. Вместо replaceState
используйте popState
в обработчике close
, чтобы вернуться из модального режима к желаемой истории:
Необходимо указать, что и T и K являются ссылочными типами. Ковариантность массива только работает со ссылочными типами. Измените объявление на:
class Dummy<K,T> where T : class, K
и это хорошо работает. Вы не должны указывать, что K является ссылочным типом, потому что, если T является ссылочным типом и он происходит из или реализует K, затем K должен быть ссылочным типом также. (По крайней мере, я предполагаю, что это - обоснование. Не повреждает добавлять where K : class
также для ясности.)
тип T должен поддерживать неявный convertion к K. Например.
T = новый T (); K b = a;
должно быть допустимым.