管理不同项目中的常量



我有一个 C# 应用程序,其中包含一个产品核心和每个客户项目的不同特殊情况。我需要一种方法来处理和管理全局常量(所有内容都在一个中心点),并提出了以下解决方案:

在项目"核心"中:

public abstract class Config
{
   //Core values, which are always needed
   public const string Value1 = "abc";
   ...
}

在特定项目"SpecialProject1"(引用 Core)中:

public abstract class SpecialConfig : Config
{
   //additional extra values for this special case
   public const string Value2 = "xyz";
   ...
}

这样我就可以从我的核心配置类继承,避免有人意外地创建了我的配置类的实例(它们没有状态,只有固定值)。

有没有更好的方法可以做到这一点?在这种情况下使用"抽象"有问题吗?

抽象类的主体使用静态类:

public static class Config
{
   //Core values, which are always needed
   public const string Value1 = "abc";
   ...
}

并将您的变量称为Config.Value1而不是从类继承。由于 C# 只允许您从一个基类继承,因此强制 use 不必要地继承并不是一个好主意。

此外,静态类永远不能实例化,因此您不必担心人们创建它的实例。

在"SpecialProject1"中,有一个仅与该项目的配置相关的配置类,以便将核心配置和项目配置分开。

相关内容

  • 没有找到相关文章