我想諮詢一下。我的項目有很多不同值的equals方法,並且我想要做一個相同的方法。建議 - 如何實現具有不同參數的相同代碼
的方法是這樣的:
private void Enum1()
{
Console.WriteLine(Enum.GetValue(ENUM1.Code));
Console.WriteLine(Enum.GetValue(ENUM1.Info));
}
private void Enum2()
{
Console.WriteLine(Enum.GetValue(ENUM2.Code));
Console.WriteLine(Enum.GetValue(ENUM2.Info));
}
private void Enum3()
{
Console.WriteLine(Enum.GetValue(ENUM3.Code));
Console.WriteLine(Enum.GetValue(ENUM3.Info));
}
這是枚舉:
public enum ENUM1
{
Code = 1,
Info = 3
}
public enum ENUM2
{
Code = 91,
Info = 4
}
public enum ENUM3
{
Code = 6,
Info = 27
}
只有一種方式來創建通過將枚舉的輸入類型的使用方法?也許這樣一個類似的解決方案:
private void General("ENUM1")
{
var type = ENUM1;
switch (p)
{
case "ENUM1":
type = ENUM1;
case "ENUM2":
type = ENUM2;
case "CASALINGHI":
type = ENUM3;
default:
type = ENUM1;
}
Console.WriteLine(Enum.GetValue(type.Code));
Console.WriteLine(Enum.GetValue(type.Info));
}
我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –
我不認爲枚舉是這裏的最佳選擇。考慮用屬性'code'和'info'來創建一個類或結構體。然後你所有的不同的枚舉可以表示爲同一個類的實例;你可以簡單地創建一個方法yourclass.writeToConsole(),它可以完成和我所知道的所有靜態方法 – HugoRune
一樣的功能,但是我使用它,因爲實際上每個枚舉都有它的字符串值'StringValue(「n | 11:5 | 0」 )]代碼= 1,' – puti26