0

是否可以让一个变量指向另一个变量以用于快捷方式?例如,假设我在一个名为 的类中有一个变量,SharedResources.proxTelescope我如何在另一个类中获取一个变量prox以指向第一个变量,这是一种快捷方式。我可以这样做var prox = SharedResources.proxTelescope;,但如果 proxTelescope 发生变化,它不会反映在 prox 上,对吗?我应该怎么做呢。

4

5 回答 5

5

我会将事物设置为属性。

private <type> prox
{
    get { return SharedResources.proxTelescope; }
    set { SharedResources.proxTelescope = value }
}
于 2013-03-01T14:35:46.323 回答
3

您可以创建一个属性,例如:

public YourTypeHere prox
{
    get { return SharedResources.proxTelescope; }
    set { SharedResources.proxTelescope = value; }
}
于 2013-03-01T14:35:49.630 回答
1

如果变量是类,那么它们是引用类型,因此其中一个的任何更改都将反映在另一个中。

如果变量是结构,那么它们是值类型并且你有问题,你可以制作一些函数(或属性)来获取值。

于 2013-03-01T14:38:15.963 回答
0

另一种方法是使用Func<T>

public class MyClass
{
    public Func<DesiredType> ValueGetter {get;set;}
    public DesiredType Value { get { return ValueGetter(); } }
}

然后可以这样使用:

var myClass = new MyClass();
myClass.ValueGetter = () => SharedResources.proxTelescope;

var value = myClass.Value;
于 2013-03-01T14:54:39.207 回答
0

如果值应该在所有实例之间“共享”,那么最好让变量作为它所在类的静态成员存在,并创建一个实例属性来检索静态变量的值。

于 2013-03-01T14:35:50.067 回答