반응형
정적 열거 형, C # 선언 문제
안녕하세요, 다음과 같이 정적 열거 형을 선언하려고합니다.
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)
{
...
"하지만 다음과 같은 오류가 발생합니다." '정적'수정자가이 항목에 유효하지 않습니다. "간단하다는 것을 알고 있지만 문제를 볼 수없는 것 같습니다. 정말 감사합니다!
열거 형은 변수가 아닌 유형입니다. 따라서 정의에 따라 '정적'이므로 키워드가 필요하지 않습니다.
public enum ProfileMenuBarTab { MainProfile, Edit, PhotoGallery }
꺼내십시오 static
.
열거 형은 멤버가 아닌 유형입니다. 정적 또는 비 정적 열거의 개념이 없습니다.
유형 의 정적 필드 를 만들려고 할 수 있지만 유형 선언과는 관련이 없습니다.
(정적 필드를 만들면 안되지만)
또한 중첩 유형을 만들면 public
안됩니다 .
You do n't need to define it as static. 열거 형 형식이 컴파일 될 때 C # 컴파일러는 각 기호를 형식의 상수 필드로 변환합니다. 예를 들어 컴파일러는 이전에 표시된 Color 열거를 다음과 유사한 코드를 작성한 것처럼 처리합니다.
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__;
}
열거 형은 값이 아니라 유형입니다. 수정자는 static
거기에서 그다지 의미가 없습니다.
열거 형 선언을 정적으로 만들려고합니다. 즉, 유형의 필드입니다 ProfileMenuBarTab
. 클래스에서 클래스 (또는 기타)를 선언하려면 정적을 제외하십시오.
참조 URL : https://stackoverflow.com/questions/4567868/troubles-declaring-static-enum-c-sharp
반응형
'Nice programing' 카테고리의 다른 글
Rails : 자바 스크립트 문자열의 국제화? (0) | 2021.01.05 |
---|---|
SQL 삽입 문에서 비트 값을 반전하는 우아한 방법이 있습니까? (0) | 2021.01.05 |
Haskell에서 언제 let과 함께 사용합니까? (0) | 2021.01.05 |
Eclipse Memory Analyser이지만 항상 내부 오류가 발생 했습니까? (0) | 2021.01.05 |
PostgreSQL의 범위에서 날짜 목록 가져 오기 (0) | 2021.01.05 |