分配通过继承或常量值一些其他的方式

问题描述 投票:0回答:1

我有以下类:

public abstract class ExampleClass
{
    public static readonly float updateRate = 12;
}

我想建立它的一个.dll使用它在我的其他项目,并保持updateRate为常数(或只读静态)。

当我使用内用ExampleClass中的.dll文件,我希望能够通过使用该.dll项目,并通过继承抽象类ExampleClass中的类来改变常数。

我尝试添加虚拟的,但它并不适用于静态只读,也不是常量。我不断探索方法,但它似乎是C#不实现这些。

有没有一种方法可以让我允许使用ExampleClass.dll改变updateRate的价值,可能是通过继承程序员?

c# inheritance dll const
1个回答
1
投票

常数的含义是不可改变的。一旦它宣布你不能改变一个常数。事实上,以恒定的每一个基准换成这是在编译时的值。

static readonly不是一个常数 - 但它是只读的,为此不能改变。此外,静态成员不完全继承 - 他们属于他们那里宣布对阶级,正如你意识到自己不能被覆写。

你能做什么,但是,是得到的app.config值。这样一来,每一个使用此DLL项目可以有它自己的这个static readonly字段的值:

public static readonly float updateRate = 
    float.Parse(ConfigurationManager.AppSettings["updateRate"]);
© www.soinside.com 2019 - 2024. All rights reserved.