Visual Studio에서 getter 및 setter를 생성하는 방법은 무엇입니까?
-
08-06-2019 - |
문제
"생성"이란 특정 선택된 변수(들)에 필요한 코드의 자동 생성을 의미합니다.
그러나 모범 사례에 대한 더 명확한 설명이나 의견은 환영합니다.
해결책
사용하는 것보다 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을 사용하고 있습니다.
- 인스턴스 변수 줄에 커서를 놓습니다.
- 결합 키를 누르세요 Ctrl 키+아르 자형, Ctrl 키+이자형 또는 마우스 오른쪽 버튼을 클릭하고 상황에 맞는 메뉴를 선택하세요.
Refactor \ Encapsulate Field...
그런 다음 누르세요OK
.
- ~ 안에
Preview Reference Changes - Encapsulate Field
대화상자, 버튼 누르기Apply
.
- 결과는 다음과 같습니다.
너도 속성 선택을 위해 커서를 놓습니다., 메뉴 사용 편집 \ 리팩터링 \ 필드 캡슐화...
그리고
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 메소드 생성을 제안합니다. 이것을 클릭하세요.
Visual Studio 도구를 대신하여 온라인 도구를 사용하여 C# 속성을 쉽게 생성 할 수 있습니다. C# 속성 생성기.
그냥 누르시면 됩니다 Alt+인 Android 스튜디오에서는 변수를 선언한 후 코드 생성 시 getter 및 setter를 얻을 수 있습니다.