我遇到了一个有趣的问题,正在寻找一些关于如何最好地处理这个问题的建议......
我有一个抽象类,它包含一个静态方法,该方法接受我想定义为抽象属性的静态字符串。问题是 C# 不支持以下内容(请参阅 ConfigurationSectionName 和 Current 属性):
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/