有没有办法在其他类中重用枚举?

时间:2016-08-09 20:34:34

标签: c#

有没有办法在其他类中重用枚举?

例如, 我有一个班级使用另一个班级的枚举。但是,我希望每次使用该类的活动类的枚举时都不必键入其他类的命名空间。

3 个答案:

答案 0 :(得分:0)

您是否有充分理由不能使用using声明?

using Namespace.With.Enum;

namespace Namespace.Without.Enum 
{
    public class Foobar 
    {
        ...
    }
}

这应该允许你在Foobar内使用枚举而无需在其前面加上。

答案 1 :(得分:0)

我没有看到在每个文件的顶部放置一个using语句的问题。

 namespace MyNameSpace.EnumNamespace
 {
    public enum MyEnum
    {
         One,Two,Three
    }
 }

并在一个单独的文件中

using MyNamespace.EnumNamespace;


namespace AnotherNamespace
{
        public class AnotherClass
        {
            //somewhere in the same file
            public void SomeMethod(MyEnum enumValue)
            {
                //Do stuff
            }
        }
}

或者,您也可以指定别名。

using MyEnumAlias = MyNameSpace.EnumNamespace.MyEnum

答案 2 :(得分:0)

如果您不想要输入命名空间和类名,例如

  namespace AnotherNamespace {
    ...
    public class AnotherClass {
      ...
      public enum MyEnum {
        One, 
        Two,
        Three 
     }
    }
    ...
  }

  ...

  namespace MyNamespace { 
    ...
    AnotherNamespace.AnotherClass.MyEnum v = ...

您可以尝试通过using创建同义词

  namespace MyNamespace {
    using MyEnum = AnotherNamespace.AnotherClass.MyEnum;

    ...

    MyEnum v = ...