是否有可能在C#中創建一個通用函數,其中第一個參數是一個枚舉(幾個中的一個,所以它必須是通用的,我猜),第二個參數被強制爲選擇的枚舉值作爲第一個參數?我明白泛型必須被使用,但我想不出如何編寫這樣一個表達式,或者甚至可能。通用函數,其中第二個參數首先取決於
編輯:添加代碼示例 我知道,此代碼示例不工作,但它說明了我在想的方向一點點。
public List<int> Call<EnumValue>(Type enumType, EnumValue enumValue) where EnumValue : Enum.GetValues(typeof(enumType))
{
// Something
}
你甚至不能約束一個泛型方法/類僅適用於枚舉。 –
這就對了,我認爲你可以得到最接近的是: public void enumFunction(t enumObject) 其中t是枚舉類型,enumObject是它的一個實例。 –
CurlyPaul
你的意思是第一個參數必須是枚舉類型,第二個參數是該類型的值?或者你只是說這兩個參數都是相同枚舉類型的值? –