![](/img/trans.png)
[英]C# What is the best way to create an enum that is used by multiple classes?
[英]C# enum type shared multiple classes
我試圖找到最優雅的方式來處理以下情況:
class ObjectA
{
public enum MandatoryParameters {A, B, C}
public enum OptionalParameters {D, E, F}
}
class ObjectB
{
public enum MandatoryParameters {G, H, I}
public enum OptionalParameters {J, K}
}
class Error
{
MandatoryOrOptionalParameters param;
string errorDescription;
Error(MandatoryOrOptionalParameters p, string d)
{
param = p;
errorDescription = d;
}
}
有什么好的方法來創建MandatoryOrOptionalParameters
類型來避免string
? 我在這里和這里閱讀了一些相關的信息。
創建一個表示任何類型參數的枚舉,然后每個類將獲取或指定代表可選或必需的項目的集合:
public enum Parameters { A, B, C, D, E }
// Class specifies for itself the mandatory and optional
public class Foo
{
public IEnumerable<Parameters> Mandatory { get; set; } = new List<Parameters> { A, B };
public IEnumerable<Parameters> Optional { get; set; } = new List<Parameters> { C, D };
}
// Class receives what are the mandatory and optional
public class Bar
{
public Bar(IEnumerable<Parameter> optional, IEnumerable<Parameter> mandatory)
{
// store input
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.