Цель свойства Tag
- использовать его для любых целей. Вы можете безопасно хранить там все, что захотите.
Обычно объявляется класс, который специально предназначен для хранения в свойстве Tag
(как вы это сделали с CustClass
). Но если вам нужно только одно значение, то нет ничего плохого в том, чтобы хранить int
непосредственно в нем.
Где вы прочитали, что бокс / распаковка «небезопасны»? Это абсолютно не так. (Некоторые люди утверждают, что это неэффективно , но даже это не соответствует действительности.) Кроме того, ваш код даже не содержит пример упаковки. CustClass
является ссылочным типом. Только типы значений помечаются в рамке, когда присваиваются object
.