指向变量的 C# 指针

本文关键字:指针 变量 | 更新日期: 2023-09-27 18:34:40

C# question.

我有一个如下所示的继承层次结构:

BaseController
    Object1Controller
    Object2Controller
    Object3Controller
        Object3_1Controller
对象 1

2 和 3 的实例使用基本控制器中的值计算值,但对象 3_1 不计算。

这些对象

可以附加其他对象,这些对象在一段时间内修改基值,然后将其还原为缓存值。(忽略这个OO噩梦的可怕含义: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 }
}

指向变量的 C# 指针

这里的答案似乎是您的值的包装类:

class Modifiable<T>
{
    public T Value { get; st; }
    ...
}
class Object1Controller : ...
{
    public Modifiable<int> MyValue { get; private set; }
}

这还不完整,但这是我能对你的问题做出的。 Modifiable<int>将具有int*的大多数属性。