c# - 为什么我不能访问静态类中的公共(public)属性字段

标签 c# .net enums static-classes

我试图弄清楚为什么这不起作用......

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从另一个类(class),例如...
public partial class MainWindow : Window
{
    ApplicationType.   //<-- Intellisense shows only ApplicationEnum    }

谢谢。

编辑:问题是我没有像我想的那样在这个例子中尝试在 MainWindow 内。

最佳答案

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

private ApplicationEnum foo = ApplicatoinType.Application;

直到你完成 ApplicationEnum公开,你会发现你的 Application属性将无法编译 - 您不能声明本身不是公共(public)的类型的公共(public)属性。

关于c# - 为什么我不能访问静态类中的公共(public)属性字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15936355/

相关文章:

c# - 如何判断类型是否为 "simple"类型?即持有一个单一的值(value)

c++ - 使用枚举的一些很好的例子

c# - Umbraco 4.11.3 : Client side form upload (multipart/form-data) gives 404

c# - [DllImport()] 可以处理静态 C 库吗

c# - 高性能缓存

c# - 用于查找不属于超链接的文本的正则表达式

c# - 使用 ASP.Net 在单击事件期间多次更新标签文本

c# - PropertyGrid、DefaultValueAttribute、动态对象和枚举

c# - 访问者模式是将域枚举重构为类的最佳方式吗?

swift - 有没有一种快速的方法可以为具有关联值的枚举写入 "if case"