常量与受保护的静态只读

Jor*_*oba 2 .net c#

我有一个包装类,它封装了一条需要作为字节数组传输的信息。

这样,该类将必要的标头(带有 DATA_LENGTH 或 MESSAGE_TYPE 之类的字段)封装到相应的字节位置。为此,我想在常量中定义位置和长度,例如:

HEADER_DATA_LENGTH_IX = 0;
HEADER_DATA_LENGTH_LENGTH = 2;
Run Code Online (Sandbox Code Playgroud)

这意味着 DATA_LENGTH 从 0 开始并占用两个字节。

但到目前为止,我正在努力使它们成为常量或静态只读字段。常量不能被保护,因此如果使用它们,我将无法派生新类并更改常量,另一方面,我可能会在派生类中声明新常量并使用它们。

你的方法是什么?

Oz *_*ano 5

如果要在派生类中更改这些参数的值,可以将它们设为只读并在派生类的构造函数中更改它们

无论如何,我不会让它们成为常量,因为它们不是......