C# вопрос.C# указатели на переменные
У меня есть иерархия наследования, которая выглядит следующим образом:
BaseController
Object1Controller
Object2Controller
Object3Controller
Object3_1Controller
экземпляры объектов 1, 2 и 3 вычислить значение, используя значение в базовом контроллере, но объект 3_1 не делает.
Эти объекты могут иметь прикрепленные к ним другие объекты, которые изменяют базовые значения за какое-то время, а затем возвращают их в кешированное значение. (Не обращая внимания на ужасающие последствия этого ОО кошмара: P)
То, что я хотел бы быть в состоянии сделать что-то вроде этого:
class modifier<T>
T* pointerToValue
void assignModifiable(T*)
Такое, что каждый изменяемый класс создает модификатор и это указывает на переменную, которую он хочет изменить. Эквивалент C++ будет что-то вроде этого:
template <class T> class ModifierInterface
{
T* modifiableVariable;
void setModifier(T &target)
{ modifiableVariable = target }
void changeModifiable(T val)
{ modifiableVariable = val }
}
вы можете просто использовать 'ref'. –
Не с указателями в любом случае. Вам придется приколоть почти все, и вы задушите сборщика мусора. –
указатели редко нужны для C#. –