Возможный дубликат:
Создать универсальный метод, ограничивающий T до Enum
Есть ли причина, по которой мы не можем сделать это на C #? И, если возможно, как я могу сделать что-то подобное!
Чего я хочу:
public class<T> ATag where T : enum {
[Some code ..]
}
public class<T> classBase where T : enum {
public IDictionary<T, string> tags { get; set; }
}
Итак, когда приходит время вызывать его, я не могу получить только одно из моих значений перечисления.
public class AClassUsingTag : classBase<PossibleTags> {
public void AMethod(){
this.tags.Add(PossibleTags.Tag1, "Hello World!");
this.tags.Add(PossibleTags.Tag2, "Hello Android!");
}
}
public enum PossibleTags {
Tag1, Tag2, Tag3
}
Сообщение об ошибке: «Ограничение не может быть специальным классом 'System.Enum'»
Спасибо!