2016-09-15 6 views
0

HttpPost 통신을 허용하는 웹 API 프로젝트가 있습니다.C# Visual Studio 2013에서 '클래스가 인스턴스화되지 않습니다.'

컨트롤러의 메서드는 항상 하나의 유효성이 검사 된 개체를 허용합니다. 예를 들어

:

public sealed class NumbersRequest 
{ 
    [NumberOne] 
    public string Number1 { get; set; } 

    [NumberTwo] 
    public string Number2 { get; set; } 
} 

내가 NumbersRequest req = new NumbersRequest()를 선언 결코 그들은 단지 요청 객체의 역할을하기 때문에, 임 내가

클래스는

어떻게

을 인스턴스화되지 않습니다 수 있습니다 점점 경고를 억제 하시겠습니까? (그것보다 녹색 밑줄처럼 ..) 아마 annontations와 함께 뭔가?

감사합니다.

+1

경고를주는 것은 무엇입니까? 코드 분석? –

+0

실제로 컴파일러 경고가 아니며 오류 근처에서 볼 수 있습니다. 하지만 저를 괴롭히는 것. 그것을 녹색 선으로 그립니다. –

+0

http://stackoverflow.com/q/17998471/11683은 아마도 원하는 것이 아니지만 옵션 일 수 있습니다. – GSerg

답변

3

This looks like a ReSharper warning 그리고 이러한 이유로 ReSharper에게 침묵을 요구할 수 있습니다.

ReSharper가 전체적으로 불평을하지 않도록 구성 할 수 있습니다. 문제의 불규칙한 부분에 Alt + Enter를 누르고 검사의 심각도를 구성 할 수있는 맨 아래 메뉴 항목을 사용하면됩니다.

글로벌 설정에서이 설정을 저장하도록 선택할 수 있습니다. 즉, 지금부터 열어 놓은 모든 프로젝트에 영향을 주거나 팀 공유 설정 파일에 저장할 수 있습니다. 그러면 팀 관리 설정 파일과 함께 소스 제어를 확인할 수 있습니다. 프로젝트를 사용하여이 솔루션 하나만 고려하십시오.

경고를 계속 유지하면서 하나 이상의 특정 유형, 메소드, 속성 등에 대해 불평하지 말 것을 요청하면 ReSharper에서 제공하는 속성을 사용할 수 있습니다.

당신은 당신의 프로젝트에 이러한 특성을 가져 오는 여러 가지 방법이 있습니다

  1. 는 "JetBrains의 ReSharper에서 주석"는 Nuget 패키지에 대한 참조를 추가를
  2. 은 사용은 옵션 ReSharper에서에 대한 대화 및 그것은 수있는 페이지를 찾을
  3. 곳 당신은 클립 보드에 그 속성들에 대한 소스의 사본을 붙잡고, 당신의 프로젝트에있는 파일에 붙여 넣기 만하면됩니다.
  4. 은 (당신이 다음에 대해 ReSharper에서 말할 필요) 심지어 자신의 이름 공간에서 원하는 단지 하나 개 또는 두 개의 속성을 정의

권장되는 방법은 옵션 1, nuget 패키지를 사용합니다.

이제 특성을 사용할 수 있다고 가정하면 PublicAPIAttribute 또는 UsedImplicitlyAttribute을 사용할 수 있습니다.

중 하나가이면 충분하지만 다른 의미가있을 수 있습니다. 클라이언트로 또는 클라이언트에서 전송되는 개체를 플래그 지정 중이므로 먼저 PublicAPIAttribute을 사용합니다.당신이 PublicAPIAttribute 작동하지 않았다하지만 UsedImplicitlyAttribute 다음했다는 코멘트에 말 때문에


나는 그들이는 다른 의미를 가지고 할 같아요.

+0

일반적인 팁으로, ReSharper를 사용하고 있고 제품을 최대한 활용하고자한다면 ReSharper가 독자적으로 알아낼 수있는 것보다 ReSharper에게 코드에 대해 더 많이 알릴 수있는 속성을 살펴 봐야합니다. 거기에 몇 가지 * 정말로 * 유용한 속성이 있습니다. 특히'NotNullAttribute'와'CanBeNullAttribute'를보고, ** 모든 것을 ** 적절하게 태그 붙이기 시작한 다음, ReSharper가 여러분의 코드에서 보여주고있는 모든 squigglies를 돌보기 시작하십시오. 나 한테 고마워 할 수있어. 컬렉션의 태깅 요소에 대해서도 동일한 'Item ****'버전이 있습니다. –

관련 문제