.net 4.0 -在c#中将变量指向其他变量
本文关键字:变量 其他 net | 更新日期: 2023-09-27 18:01:48
是否有可能让一个变量指向另一个变量以达到快捷的目的?举个例子,假设我在一个类中有一个变量叫SharedResources.proxTelescope
,我怎么让另一个类中的变量叫prox
指向第一个变量呢,用一种快捷方式。我可以只做var prox = SharedResources.proxTelescope;
,但是如果proxTelescope改变了,它不会反射到prox上,对吧?我该怎么做呢?
我将把这些设置为一个属性。
private <type> prox
{
get { return SharedResources.proxTelescope; }
set { SharedResources.proxTelescope = value }
}
您可以创建一个属性,如:
public YourTypeHere prox
{
get { return SharedResources.proxTelescope; }
set { SharedResources.proxTelescope = value; }
}
如果变量是类,那么它们是引用类型,因此其中一个的任何更改都会反映在另一个中。
如果变量是结构体,那么它们就是值类型,如果你遇到问题,你可以创建一些函数(或属性)来获取值
如果值应该在所有实例中'共享',那么最好让变量作为它所在类的静态成员存在,并创建一个实例属性来检索静态变量的值。
另一种方法是使用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;