Возможно ли в C# создать общую функцию, где первый параметр является перечислением (один из нескольких, поэтому он должен быть общим, я думаю), а второй параметр вынужден быть значение из перечисления, выбранного в качестве первого параметра? Я понимаю, что дженерики должны использоваться, но я не могу придумать, как написать такое выражение, или если это возможно.Общая функция, где второй параметр зависит от первого
Редактировать: Добавлено пример кода Я знаю, что этот пример кода не работает, но он немного иллюстрирует направление, о котором я думал.
public List<int> Call<EnumValue>(Type enumType, EnumValue enumValue) where EnumValue : Enum.GetValues(typeof(enumType))
{
// Something
}
Вы не можете даже ограничить общий метод/класс применимым только к Enums. –
Правильно, ближайший, я думаю, вы можете получить: public void enumFunction (t enumObject) Где t - тип перечисления, а enumObject - его экземпляр. –
CurlyPaul
Вы имеете в виду, что первым параметром должен быть тип перечисления, а второй - значение этого типа? Или вы просто имеете в виду, что оба параметра являются значениями одного и того же типа перечислений? –