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