Dlaczego metoda EnFa HasFlag wymaga boksowania?

Czytam „C # przez CLR”, a na stronie 380 znajduje się notatka o następującej treści:

Uwaga: Klasa Enum definiuje metodę HasFlag zdefiniowaną w następujący sposób

public Boolean HasFlag(Enum flag);

Używając tej metody, możesz przepisać wywołanie Console.WriteLine w następujący sposób:

Console.WriteLine("Is {0} hidden? {1}", file, attributes.HasFlag(FileAttributes.Hidden));

Zalecam jednak unikanie metody HasFlag z tego powodu:

Ponieważ pobiera parametr typu Enum, każda przekazana wartość musi być zapakowana, wymagając przydziału pamięci . ”

Nie rozumiem tego pogrubionego stwierdzenia - dlaczego ”

każda przekazana wartość musi być zapakowana

Theflag typ parametru toEnum, który jest typem wartości, dlaczego miałby boks? „Każda wartość, którą do niej przekazujesz, musi być zaznaczona”, powinna oznaczać, że boks będzie miał miejsce, gdy przekażesz typ wartości do parametruEnum flag, dobrze?

questionAnswers(6)

yourAnswerToTheQuestion