Нет хороших альтернатив.
В зависимости от того, что вы пытаетесь сделать, вы, возможно, могли бы определить свой собственный класс с нужными вам свойствами и определить оператор неявного преобразования для выполнения неявного преобразования в правильный тип структуры. Тогда вы сможете передать в своем классе все методы, ожидающие параметр Thickness.
Это противоречило бы рекомендации использовать оператор неявного преобразования, поскольку в нем говорится, что неявное преобразование не должно терять никакой информации. Вы не сможете получить информацию о Толщине из свойства, которое читаете, и просмотреть дополнительную информацию, которую вы приложили.
Вот как вы могли бы это реализовать:
public class ThicknessEx
{
public string ExtraData { get; set; }
public Thickness Thickness { get; set; }
public static implicit operator Thickness(ThicknessEx rhs)
{
return rhs.Thickness;
}
}
Однако вам, вероятно, будет лучше, если вы храните дополнительные данные в другом месте. Как это сделать, зависит от ваших потребностей и применения.