Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Extend sealed class. Wrapper class? Attached property?

24.08.18 10:59
Extend sealed class. Wrapper class? Attached property?
 
  moose старожил

вот возникла необходимость такое сделать. можно, конечно, обойти "некрасиво и неудобно", но не хочется.

есть такой класс, нужно запомнить (где-то внутри него. снаружи - не проблема, но это не то), с какими параметрами он создавался, и при необходимости изменять его родные properties, исходя из начальных параметров. например, создали ClassA ca = new ClassA (10); а потом нам нужно будет, чтобы это свойство можно было установить на какую-то долю от изначального: 0.8, потом 04, ... . для этого нам нужно где-то помнить это исходное значение. как я понимаю, Attached property такого сделать не позволит, т.к. получает готовй объект, и если в нем ничего нет, то и делов нет. создавать wrapper - нужно выносить наружу весь интерфейс (а он немаленький). самое удобное было бы - derive от этого класса новый, и там добавить переменную. но создатель решил, что низзя, потому что это испортит его перфомэнс : (

в общем, есть какие-нибудь идеи, как "прицепить" к ненаследуемому, "запечатанному" классу какие-то дополнительные переменные? можно, конечно, попробовать найти у него в запасе какие-то неиспользуемые уже существующие, но это - очень плохо.

 

Перейти на