문제

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

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

도움이 되었습니까?

해결책

사용하는 것보다 Ctrl 키+케이,엑스 그냥 입력해도 됩니다 prop 그런 다음 탭을 두 번 누르세요

다른 팁

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

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

나는 이 기술을 별로 좋아하지 않습니다. 왜냐하면 많은 getter/setter를 생성해야 하는 경우 사용하기가 약간 어색하고 개인 필드 바로 아래에 속성을 배치하기 때문입니다. 내 모든 비공개 필드가 함께 그룹화되어 이 Visual Studio 기능이 내 클래스의 형식을 깨뜨립니다.

생성이란 자동 생성을 의미합니까?그렇지 않은 경우:

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에서도 항상 이 간단한 방법을 사용했습니다.

저는 Visual Studio 2013 Professional을 사용하고 있습니다.

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

    enter image description here

  • 결합 키를 누르세요 Ctrl 키+아르 자형, Ctrl 키+이자형 또는 마우스 오른쪽 버튼을 클릭하고 상황에 맞는 메뉴를 선택하세요. Refactor \ Encapsulate Field... 그런 다음 누르세요 OK.

    enter image description here

  • ~ 안에 Preview Reference Changes - Encapsulate Field 대화상자, 버튼 누르기 Apply.

    enter image description here

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

    enter image description here



너도 속성 선택을 위해 커서를 놓습니다., 메뉴 사용 편집 \ 리팩터링 \ 필드 캡슐화...

그리고

private int productID;

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

~이 되다

public int ProductID { get; set; }

"propfull"을 사용하고 누를 수도 있습니다. 두 번, get 및 set이 포함된 변수 및 속성이 생성됩니다.

Visual Studio 2005 이상을 사용하는 경우 조각 삽입 명령을 사용하여 매우 빠르게 setter/getter를 만들 수 있습니다.코드를 마우스 오른쪽 버튼으로 클릭하고 코드 조각 삽입(Ctrl 키+케이,엑스) 그런 다음 목록에서 "prop"를 선택합니다.도움이 되었기를 바랍니다.

ReSharper를 사용하는 경우 ReSharper 메뉴 --> 코드 --> 생성...으로 이동하세요.(또는 히트 Alt+ 주변 클래스 내부) 생각할 수 있는 getter 및/또는 setter 생성에 대한 모든 옵션을 얻을 수 있습니다 :-)

사용 propfull 예어.
속성과 변수가 생성됩니다.

나는 이것이 태양보다 오래되었다는 것을 알고 있지만 이렇게 하는 것과 같아서 이것을 내 답변으로 게시할 것이라고 생각했습니다.

내가 한 일은 단지 추가만 하는 나만의 스니펫을 만드는 것이었습니다. {get; set;}.그냥 찾았으니까 만들었어요 prop > tab 투박하다.

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets
xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
        <Title>get set</Title>
         <Shortcut>get</Shortcut>
    </Header>
    <Snippet>
        <Code Language="CSharp">
            <![CDATA[{get; set;}]]>
        </Code>
    </Snippet>
  </CodeSnippet>

이를 통해 PropType 및 PropName을 수동으로 입력한 다음 다음을 입력합니다. get > tab get set이 추가됩니다.마법 같은 것은 아니지만 어쨌든 액세스 수정자를 먼저 입력하는 경향이 있으므로 이름과 유형을 마무리하는 것이 좋습니다.

Visual Studio Community Edition 2015에서는 원하는 모든 필드를 선택한 다음 누를 수 있습니다. ctrl + .속성을 자동으로 생성합니다.필드 대신 속성을 사용할지 여부를 선택해야 합니다.

'prop' 스니펫 및 자동 속성 외에도 기존 필드를 선택하고 속성을 통해 노출할 수 있는 리팩터링 옵션이 있습니다.또한 'prop' 구현이 마음에 들지 않으면 자신만의 스니펫을 만들 수 있습니다.또한, resharper와 같은 타사 리팩토링 도구를 사용하면 더 많은 기능을 제공하고 고급 스니펫을 더 쉽게 생성할 수 있습니다.여유가 된다면 Resharper를 추천합니다.

http://msdn.microsoft.com/en-us/library/f7d3wz0k(VS.80).aspx http://www.jetbrains.com/

더 이상 내 컴퓨터에 Visual Studio가 설치되어 있지 않고(그리고 Linux를 사용하고 있습니다) 클래스 빌더에 액세스할 수 있는 메뉴 중 하나 내부 어딘가에 마법사가 숨겨져 있다는 것을 기억합니다.

이 마법사를 사용하면 메서드와 속성을 포함한 모든 클래스의 세부 정보를 정의할 수 있습니다.제 기억으로는 VS에게 자동으로 setter와 getter를 생성하도록 요청할 수 있는 옵션이 있었습니다.

꽤 모호하다는 걸 알지만, 확인해 보면 찾을 수 있을 것입니다.

먼저 확장자를 얻으십시오.이 후에는 변수를 선택하고 마우스 오른쪽 버튼을 클릭하여 명령 팔레트로 이동하십시오 ...그리고 getter를 입력하세요.get 및 set 메소드 생성을 제안합니다. 이것을 클릭하세요.

enter image description hereVisual Studio 도구를 대신하여 온라인 도구를 사용하여 C# 속성을 쉽게 생성 할 수 있습니다. C# 속성 생성기.

그냥 누르시면 됩니다 Alt+ Android 스튜디오에서는 변수를 선언한 후 코드 생성 시 getter 및 setter를 얻을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top