2013-04-16 3 views
0

속성이 사용자 지정 사용자 정의 컨트롤에 추가되었습니다. 그 이후로 Visual Studio는 해당 사용자 정의 컨트롤을 사용하는 모든 양식에 생성 된 코드를 삽입했습니다. 이제 우리는 그 속성을 사용하지 않을 것이므로 제거하려고합니다. 그러나 분명히 그렇게하는 것은 컴파일 오류를 일으 킵니다. Visual Studio에서 생성 된 모든 코드에서 속성을 제거하도록 지시 할 수 있습니까? [Obsolete()]를 넣으면 Visual Studio에서 생성 된 코드에서이를 제거 할 수 있습니다. 다른 방법이 있습니까?사용자 지정 사용자 지정 컨트롤에서 속성을 제거하는 방법

+2

ASP.NET Web Forms? MVC? WinForms? WPF? 실버 라이트? –

+0

@MikeMcCaughan : 이것은 Win 및 Web 양식에 유효해야합니다. – leppie

+0

@leppie, 꼭 그런 것은 아닙니다. AFAIR, 웹 폼 사용자 컨트롤은 속성과 관련하여 생성 된 코드를 삽입하지 않고 컨트롤 유형 (또는 파일 위치)에 대한 참조 만 삽입합니다. 이 경우 검색 및 바꾸기가 가장 좋은 방법 일 수 있습니다. WinForms에서는 완전히 다른 왁스 공으로 익숙하지 않습니다. 그러므로 질문. –

답변

2

정규 표현식에! 내가 일반적으로하는 일은 파일에서 바꾸기 대화 상자 (Ctrl + Shift + H)를 열고 정규 표현식 사용 확인란을 선택하고 .+\.SomeProperty.+의 인스턴스를 빈 문자열로 바꾸는 것입니다.

에 변경 사항을 적용한 후에으로 변경해야합니다. 문제가 발생하면 작업 상태로 되돌릴 수 있습니다.

+0

정말 고마워요! 이것은 트릭을 만들었습니다 - 모든 영향을받는 파일에서 생성 된 코드를 쉽고 빠르게 제거하십시오. – James

+0

@James 기꺼이 도와주었습니다. – clearpath

0

그냥 그대로두고 Obsolete으로 표시하십시오.

2

Resharper와 같은 리펙토링 도구를 사용해 볼 수 있습니다. 단지 컴파일러 경고를 생성하지만, 늘 코드를 제거 할 것 "폐기"atribute 추가

http://www.jetbrains.com/resharper/

.

3

DesignerSerializationVisibilityAttribute, 특히 DesignerSerializationVisibility.Hidden 옵션을 확인하십시오.

경고 : 불행하게도 디자인 모드에서 모든 양식/컨트롤을 열어야하므로 코드를 재생성 할 수 있습니다 (아직 작성하지 않은 경우).

+0

이것은 좋은 생각입니다! 생성 된 코드를 제거하지는 않지만 생성 된 코드를 막기 위해이 코드를 사용합니다. 고맙습니다! – James

관련 문제