gpt4 book ai didi

c# - 如何避免在 C# 命名空间中定义冗余枚举?

转载 作者:行者123 更新时间:2023-12-04 17:00:27 27 4
gpt4 key购买 nike

一边刷一边 enum s,我在 MSDN Developer Network's site 遇到了以下问题.

Usually it is best to define an enum directly within a namespace so that all classes in the namespace can access it with equal convenience. However, an enum can also be nested within a class or struct.



这是有道理的,因为我需要所有枚举都可用于我项目中的所有类。但是,我似乎找不到任何示例。这是我到目前为止所拥有的:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace myNamespace
{
enum foo {A, B, C, D}
enum foo2 {E, F, G, H}

class Myclass
{
magicHappens();
}
}

我想知道我是否需要在我包含在这个命名空间中的每个文件中都包含枚举,或者如果只在一个文件中定义它会在编译时将这些枚举定义作为一个整体拉入项目中?是否有一个特定的类需要它?还是创建一个只定义命名空间级枚举的文件的最佳实践?

任何提示将不胜感激。

最佳答案

在自己的源文件中定义每个枚举(例如 foo.cs )。只要命名空间与您的类相同,它就可以在您的其他代码文件中使用。

Foo.cs:

namespace myNamespace
{
public enum foo
{
A = 0,
B,
C,
D,
}
}

Foo2.cs:
namespace myNamespace
{
public enum foo2
{
E = 0,
F,
G,
H,
}
}

等等。

关于c# - 如何避免在 C# 命名空间中定义冗余枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23170515/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com