C# 封装枚举

C# 封装枚举,c#,visual-studio,enumeration,C#,Visual Studio,Enumeration,我试图理解如何在c#中使用枚举。我已经在谷歌上搜索过了,但我不知道如何封装枚举 我有一个包含枚举属性的类。如何封装此属性以便在类外使用它 private enum cost { Price, Diff }; 您必须声明枚举: public enum Cost { Price, Diff }; 然后使用它 public class MyClass { // property of "Cost" type public Cost MyCost {

我试图理解如何在c#中使用枚举。我已经在谷歌上搜索过了,但我不知道如何封装枚举

我有一个包含枚举属性的类。如何封装此属性以便在类外使用它

private enum cost { Price, Diff };
您必须声明枚举:

  public enum Cost { 
    Price, 
    Diff 
  };
然后使用它

  public class MyClass {
    // property of "Cost" type
    public Cost MyCost {
      get;
      set; 
    }
    ...
  }

您可以将枚举声明移到类之外,如下所示,然后可以在整个项目中使用它作为
cost cos=cost.Price

public enum cost 
    {
        Price, Diff
    }

    public class ExampleClass
    {
    }

您只需将枚举视为普通类对象

假设您有这个枚举:

public enum CoffeType
{
    regular,
    decaf
}
你有一门课:

public class CoffeeOrder
{
    public string CustomerName {get;set}
    public CoffeeType CoffeeType {get;set;}
    // ..other properties 
}

您可以看到,枚举像普通的类属性一样被封装…

呃,公开它吗<代码>公共枚举成本{Price,Diff}<代码>公共成本MyCost{get;set;}对于一个不需要声明get和set的属性?@Gunoi An
enum
只是另一个类型定义,但对于目标用例,它被限制为某些值类型。您似乎对如上所述声明
enum
和将该
enum
应用为属性、字段或参数感到困惑。请将
enum
视为一组分组常量,这可能有助于您对其进行概念化。然而,通过尝试了解enum实际上是什么,可以很容易地回答这个问题。