c# - 无法定义静态抽象字符串属性

标签 c# .net

我遇到了一个有趣的问题,正在寻找一些关于如何最好地处理这个问题的建议......

我有一个抽象类,它包含一个静态方法,该方法接受我想定义为抽象属性的静态字符串。问题是 C# 不支持以下内容(请参阅 ConfigurationSectionNameCurrent 属性):

    public abstract class ProviderConfiguration : ConfigurationSection
    {
        private const string _defaultProviderPropertyName = "defaultProvider";
        private const string _providersPropertyName = "providers";

        protected static string ConfigurationSectionName { get; }

        public static Configuration Current
        {
            get { return Configuration)ConfigurationManager.GetSection(ConfigurationSectionName); }
        }
    }

我想处理这个问题的一种方法是使 ConfigurationSectionName 不是抽象的,然后在派生类中创建一个新的 ConfigurationSectionName 定义,但这感觉很老套。欢迎提出任何建议。

感谢!!!

最佳答案

静态成员没有多态性,所以不能抽象。 :(

如果这是您的需要,请考虑制作 Singleton对象,并读取该对象的属性。

关于c# - 无法定义静态抽象字符串属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4567569/

相关文章:

c# - 优化 C# 文件 IO

C# 创建类和派生类的实例

c# - 异常 : The requested security protocol is not supported c#

asp.net - 从数据库呈现的页面中的动态数据如何缓存在搜索引擎中?

c# - 并发读写 NamePipeClientStream

c# - 在事务范围内触发回滚 C#

c# - Asp.net MVC Ajax 调用不调用 Controller 方法

c# - 在 Prism 6 中加载所有模块后使用 ViewModel 初始化 Shell

c# - 允许操作访问共享上下文(例如 WCF 中的 OperationContext)

c# - 在 App.config 中为所有 TraceSources 添加一个默认的 TraceListener