Я пишу код, который будет заполнять поля классов Margin
, Padding
и BorderThickness
классов в пространстве имен System.Windows.Documents
. Каждое из этих свойств принимает значение в виде System.Windows.Thickness
, которое является структурой.Есть ли практическая альтернатива наследованию структуры? (C#)
Однако я хочу связать некоторые дополнительные данные с каждым из этих присвоений свойств, которые впоследствии могут быть получены моим кодом. Если Thickness
были классом, я бы наследовал бы его и определял свойства в подклассе для хранения моих дополнительных элементов данных. Но поскольку это структура, наследование невозможно.
Есть ли какой-либо практический способ достичь этого, сохраняя совместимость типов со свойствами, которые я заполняю?
Спасибо за ваши идеи,
Tim
Спасибо за очень инновационное решение. Как вы говорите, он почти работает, но поскольку дополнительные данные не извлекаются из свойств, к которым он был назначен, это означает, что он должен дублироваться в другом месте, что несколько саморазрушительно. Я попытался адаптировать вашу идею для работы с базовыми свойствами зависимостей с помощью метода SetValue(), но SetValue() выполняет проверку типов, которая, кажется, является препятствием для передачи во что угодно, кроме ожидаемого типа. –