为什么我不能访问静态类中的公共属性字段?

本文关键字:属性 字段 不能 访问 静态类 为什么 | 更新日期: 2023-09-27 18:08:37

我想弄清楚为什么这不起作用…

public static class ApplicationType
{
    private static ApplicationEnum application = ApplicationEnum.App1; 
    public static ApplicationEnum Application
    {
        get { return application; }
        set { application = value; }
    }
    public enum ApplicationEnum
    {
        App1,
        App2,
        App3
    }
}

我想从另一个类访问Application,例如…

public partial class MainWindow : Window
{
    ApplicationType.   //<-- Intellisense shows only ApplicationEnum    }

谢谢。

编辑:问题是,我没有尝试在主窗口内,在这个例子中,因为我认为我是。

为什么我不能访问静态类中的公共属性字段?

你在一个类声明的中间。你需要声明一个字段、方法等。例如,这应该没问题(如果您将ApplicationEnum设置为公共的):

private ApplicationEnum foo = ApplicatoinType.Application;

在你将ApplicationEnum设置为public之前,你会发现你的Application属性将无法编译——你不能声明一个类型本身不是public的公共属性