2014-10-20 78 views
2

有人可以告訴我是否有可能將Enum值的Arrays值傳遞給同一個函數。將不同類型枚舉值的數組傳遞給函數

例子:

我有兩個枚舉:

public enum FirstEnum 
{ 
    FirstValue, 
    SecondValue 
}  

public enum SecondEnum 
{ 
    FirstValue, 
    SecondValue 
} 

我有兩個數組:

public FirstEnum[] first = new FirstEnum[]{ FirstEnum.FirstValue, 
              FirstEnum.FirstValue, 
              FirstEnum.SecondValue }; 

public SecondEnum[] second = new SecondEnum[]{SecondEnum.FirstValue, 
               SecondEnum.SecondValue, 
               SecondEnum.SecondValue } 

現在我想有一個與工作的功能:

public void WorkWithEnums(Enum[] myEnumValues) 
{ 
    // ....  
} 

我喜歡將我的數組傳遞給這樣的函數:

WorkWithEnums(first); 
WorkWithEnums(second); 

但不知何故,它不起作用。也不,如果我嘗試與object[]而不是Enum[]

任何想法?

+0

什麼錯誤您收到? – Vajura 2014-10-20 12:44:44

+0

我的錯誤是該調用有一些無效的參數。 我喜歡做的是找出數組的值。我也很樂意提出如何將'first'和'second'轉換爲字符串數組的建議。 類似於: 'FirstValue' 'FirstValue' 'SecondValue' 但這兩個枚舉。 目標是將值發送到相同的功能。 – Neo 2014-10-20 12:51:04

回答

0

我會建議使用「枚舉T」的通用方法。例如,看到這個問題的答案:Can you loop through all enum values?

無論如何,這裏的主要影響者是你的用例。 WorkWithEnums()方法中預期會發生什麼情況?

相關問題