Visual Studio에서 게터와 세터를 어떻게 생성 할 수 있습니까? “생성”이란 특정 (선택된) 변수에 필요한 코드의 자동

“생성”이란 특정 (선택된) 변수에 필요한 코드의 자동 생성을 의미합니다.

그러나 모범 사례에 대한 더 명확한 설명이나 의견은 환영합니다.



답변

오히려 사용하는 것보다 Ctrl+를 K, X당신은 또한 바로 입력 할 수 있습니다 prop다음 히트 Tab를 두 번 누릅니다.


답변

Visual Studio에는 개인 변수에서 속성을 생성하는 기능도 있습니다.

변수를 마우스 오른쪽 버튼으로 클릭하면 나타나는 컨텍스트 메뉴 에서 “리 팩터”항목을 클릭 한 다음 필드 캡슐화 … 를 선택하십시오 . 변수에 대한 getter / setter 속성이 생성됩니다.

게터 / 세터를 많이 만들어야하는 경우 사용하기가 약간 어색하기 때문에이 기술의 팬은 그리 크지 않으며 개인 필드 바로 아래에 속성을 배치합니다. 내 개인 필드를 모두 그룹화하면이 Visual Studio 기능이 클래스의 서식을 손상시킵니다.


답변

Visual Studio 2013 Professional을 사용합니다.

  • 인스턴스 변수의 행에 커서를 놓습니다.

    여기에 이미지 설명을 입력하십시오

  • 결합 키 Ctrl+ R, Ctrl+ E를 누르거나 마우스 오른쪽 버튼을 클릭하십시오. 상황에 맞는 메뉴 리 팩터필드 캡슐화 … 를 선택한 다음를 누릅니다 OK.

    여기에 이미지 설명을 입력하십시오

  • 에서 캡슐화 필드 – 미리보기 참조 변경 대화 상자에서 버튼을 누르면 Apply.

    여기에 이미지 설명을 입력하십시오

  • 결과는 다음과 같습니다.

    여기에 이미지 설명을 입력하십시오

또한 속성을 선택하기위한 커서를 놓습니다 . 메뉴 편집리팩터링필드 캡슐화 …를 사용하십시오 .

  • 기타 정보:

    C # 3.0 (2007 년 11 월 19 일) 이후 자동 구현 된 속성을 사용할 수 있습니다 (단순한 구문 설탕 임).

    private int productID;
    
    public int ProductID
    {
        get { return productID; }
        set { productID = value; }
    }

    된다

    public int ProductID { get; set; }

답변

생성이란 자동 생성을 의미합니까? 그것이 당신이 의미하는 것이 아닌 경우 :

Visual Studio 2008은 가장 쉬운 구현입니다.

public PropertyType PropertyName { get; set; }

백그라운드에서 이것은 속성이 저장되고 검색 될 암시 적 인스턴스 변수를 만듭니다.

그러나 속성에 더 많은 논리를 넣으려면 인스턴스 변수가 있어야합니다.

private PropertyType _property;

public PropertyType PropertyName
{
    get
    {
        //logic here 
        return _property;
    }
    set
    {
        //logic here
        _property = value;
    }
 }

이전 버전의 Visual Studio에서는 항상이 긴 방법도 사용했습니다.


답변

“propfull”을 사용하여 TAB두 번 칠 수도 있습니다 .

get 및 set 변수와 속성이 생성됩니다.


답변

Visual Studio 2005 이상을 사용하는 경우 insert snippet 명령을 사용하여 setter / getter를 빠르게 만들 수 있습니다.

코드를 마우스 오른쪽 버튼으로 클릭하고 스 니펫 삽입 ( Ctrl+ K, X)을 클릭 한 다음 목록에서 “prop”를 선택하십시오.


답변

ReSharper를 사용하는 경우 ReSharper 메뉴 → 코드생성 …으로 이동하십시오.

(또는 주변 클래스 내부에서 Alt+를 누르십시오 Ins), 당신은 당신이 생각할 수있는 게터 및 / 또는 세터를 생성하기위한 모든 옵션을 얻습니다 🙂