Salut, j'essaie de déclarer une énumération statique comme ceci:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Lds.CM.MyApp.Controllers
{
public class MenuBarsController : Controller
{
// Menu Bar enums
public static enum ProfileMenuBarTab { MainProfile, Edit, photoGallery }
public ActionResult cpTopMenuBar(string tabSelected)
{
...
"Mais j'obtiens l'erreur suivante:" Le modificateur 'statique' n'est pas valide pour cet élément. "Je sais que c'est quelque chose de simple mais je n'arrive pas à voir le problème. Merci beaucoup!
Les énumérations sont des types, pas des variables. Par conséquent, ils sont "statiques" par définition, vous n'avez pas besoin du mot-clé.
public enum ProfileMenuBarTab { MainProfile, Edit, PhotoGallery }
Sortez static
.
Les énumérations sont des types, pas des membres; il n'y a pas de concept d'énumération statique ou non statique.
Vous essayez peut-être de créer un champ statique de votre type, mais cela n'a rien à voir avec la déclaration de type.
(Bien que vous ne deviez probablement pas créer un champ statique)
En outre, vous ne devez pas créer de types imbriqués public
.
Vous n'avez pas besoin de le définir comme statique. Lorsqu'un type énuméré est compilé, le compilateur C # transforme chaque symbole en un champ constant du type. Par exemple, le compilateur traite l'énumération des couleurs indiquée précédemment comme si vous aviez écrit du code similaire au suivant:
internal struct Color : System.Enum {
// Below are public constants defining Color's symbols and values
public const Color White = (Color) 0;
public const Color Red = (Color) 1;
public const Color Green = (Color) 2;
public const Color Blue = (Color) 3;
public const Color Orange = (Color) 4;
// Below is a public instance field containing a Color variable's value
// You cannot write code that references this instance field directly
public Int32 value__;
}
Une énumération est un type, pas une valeur. Le modificateur static
n'a pas beaucoup de sens ici.
Vous essayez de rendre une déclaration enum statique, dans un champ de type ProfileMenuBarTab
. Pour déclarer une classe (ou quoi que ce soit) dans une classe, laissez le statique.