Как насчет того, чтобы не создавать собственный объект, а использовать свойство Tag
для хранения собственного объекта?
Свойство Tag
имеет тип object
и является общим для всех классов Control
. Вы могли бы, например, создайте свой собственный класс и добавьте его в свойство.
public class MyTagInfo
{
public string V1 { get; set; }
public string V2 { get; set; }
public int Lang { get; set; }
}
Тогда используйте это так:
menustrip.Tag = new MyTagInfo { V1 = "...", V2 = "...", Lang = 1 };