2012-09-10 4 views
1

가정하면 상에 C#을 속성 매핑 :나는 다음과 같은 구조가 데이터 멤버의 재산

public class Inner 
{ 
    public double Foo { get; set; } 
} 

public class Outer 
{ 
    public double Bar { get; set; } 

    private Inner MyInner; 
} 

을 나는 Outer에 자동으로 전달 BarMyInner.Foo에를 원한다. 어떤 구문 단축키가 있습니까? 차라리 타자하지 말자.

public double Bar 
{ 
    get 
    { 
     return MyInner.Foo; 
    } 
    set 
    { 
     MyInner.Foo = value; 
    } 
} 

항상. 우리 회사의 코드 스타일 가이드에는 모든 중괄호에 개행 문자가 필요하며 클래스에는 여러 멤버가 있습니다.

+0

필자는 automapper 라이브러리의 오버 헤드를 포함시키지 않고는 그렇게 생각하지 않는다고 생각합니다. –

답변

1

당신이 그것을하는 방법은 꽤 많이 있으며, 그것을 단축 할 구문 설탕이 없습니다. 코딩 컨벤션에 관한 한, 나는 뒤로 물러 설 것이다. "모든 코드 블록 중괄호에 개행 문자가 있어야합니다"와 같은 매우 광범위한 규칙은이 상황과 같이 매우 간단한 것을 기다리고 있습니다. 그러나, 예외를 인정할 수 없다면 스스로 해고 할 가치는 없습니다. 리샤이어 (ReSharper)와 다른 리팩토링 조수 (Reactoring Assistant)는 당신의 속성을 이와 같이 보일 것입니다.

+0

정말 그렇게 엄격하지 않습니다. 마지막으로 한 줄짜리 줄을 단축 할 것입니다 ... – japreiss

+0

@Lucero - 그는 한 줄의 속성을 사용하여 두 번째 코드 블록의 11 줄 중 10 줄을 제거 할 수있었습니다. 최소한 그는 getter와 setter를 한 줄로 할 수 있습니다. 요점은 OP의 회사가 Allman 스타일을 사용하여 6 줄의 중괄호가 필요없는 것이 있는지 궁금해했습니다. – KeithS

1

아니요 자동 속성으로 수행 할 방법이 없습니다. 하지만 코드 스 니펫을 사용하면 코드를 빠르게 작성할 수 있습니다. 그리고 내가하는 것처럼 코드 축소 (Ctrl + M + O) 습관을 만들면 너무 나빠 보이지 않습니다.