.net 4.0 -在c#中将变量指向其他变量

本文关键字:变量 其他 net | 更新日期: 2023-09-27 18:01:48

是否有可能让一个变量指向另一个变量以达到快捷的目的?举个例子,假设我在一个类中有一个变量叫SharedResources.proxTelescope,我怎么让另一个类中的变量叫prox指向第一个变量呢,用一种快捷方式。我可以只做var prox = SharedResources.proxTelescope;,但是如果proxTelescope改变了,它不会反射到prox上,对吧?我该怎么做呢?

.net 4.0 -在c#中将变量指向其他变量

我将把这些设置为一个属性。

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;