我的问题是,我创建了一个“A 类”来更新和处理值。'Class B'是在'Class A'中创建的,只需要读取Class A的值。
现在我可以将 A 类的值创建为:
public static int AInt { get { return aInt; } }
static int aInt;
并在 B 中以 A.AInt 的身份访问它们。
但是我可以使用指针,但这似乎非常反 c#。
public class A
{
int aInt;
unsafe public A()
{
fixed(int *aPtr = &aInt)
B b = new B(aPtr);
}
// Changes aInt
}
unsafe public class B
{
int *bInt;
public B(int *a)
{
bInt = a;
}
// Does stuff according to bInt value changes
}
对于将一个类的值提供给另一个类而不显式调用值的更新方法的更好方法,我有点困惑。我觉得第一个例子是它应该如何完成,但我来自 c++ 背景,所以指针对我来说是常态。
在 c# 中做指针似乎太混乱了,因为您必须更改编译标志并且必须使用 fixed() 更改任何变量并将方法/类标记为不安全。
感谢您提供任何指导/提示以获得更好的解决方案。