为了更加清晰,我正在尝试将应用设置分组。为此创建了一个静态 AppSettings.cs 类,该类应包含我的应用程序各部分的不同设置组:
AppSettings
|--AppSettingsGroupA
|--AppSettingsGroupB
|--AppSettingsGroupC
代码如下:
public class AppSettings
{
public static AppSettingsGroupA GroupASettings{ get; set; }
public static AppSettingsGroupB GroupBSettings{ get; set; }
}
public static class AppSettingsGroupA
{
public static IPAddress IpAddress
{
get{return IPAddress.Parse("192.168.0.1"]);}
}
}
public static class AppSettingsGroupB
{
public static IPAddress IpAddress
{
get{return IPAddress.Parse("192.200.2.100"]);}
}
}
问题是我收到一条错误消息,指出静态类型不能用作返回类型。
这个问题可以解决吗,还是我需要使用其他技术才能调用不同组中的设置,例如:AppSettings.AppSettingsGroupA.IpAddress 或 AppSettings.AppSettingsGroupB.IpAddress
感谢您的帮助,
最佳答案
“不”,基本上 - 你不能那样做。如果您只想让它们分层,您可以在 AppSettings 中嵌套静态类型,但在我看来,更常见的情况是它们不是静态的.
嵌套静态版本:
public static class AppSettings
{
public static class GroupASettings
{
public static IPAddress IpAddress { ... }
public static class GroupBSettings
{
public static IPAddress IpAddress { ... }
}
}
关于c# - 静态类可以具有静态类类型的属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54532251/