>

다음 오류가 발생합니다

Argument of type 'typeof Settings' is not assignable to parameter of type 'new () => Settings'

다음 줄에

new JsonConvert().deserialize(Settings.Get(), Settings)

json2typescript 문서는 내가 classReference 를 통과해야한다고 말합니다  두 번째 매개 변수로 그들의 예는 내 것과 같습니다.

Settings 의 단순화는 다음과 같습니다.  수업

export default class Settings {
  constructor(a: number) {
    this._a= a;
  }
  @JsonProperty('_a', Number)
  private _a: number;
  get A() {
    return this._a;
  }
  set A(newA: number) {
    this._a= newA;
  }
  static Get(): string {
    return <someJson>;
  }

  static GetObj(): Settings {
    return new JsonConvert().deserializeObject(Settings.Get(), Settings);
  }
}

  • 답변 # 1

    deserializeObject  인수를 사용하지 않는 생성자가있는 클래스가 필요합니다.

    export default class Settings {
      constructor(a?: number) {
        this._a = a!;
      }
      @JsonProperty('_a', Number)
      private _a: number;
      get A() {
        return this._a;
      }
      set A(newA: number) {
        this._a= newA;
      }
      static Get(): string {
        return "{}";
      }
    
      static GetObj(): Settings {
        return new JsonConvert().deserializeObject(Settings.Get(), Settings);
      }
    }
    
    

관련 자료

  • 이전 64 비트 net-snmp 다운로드
  • 다음 c# - Autofac "속성 주입"/ASPNET Webforms 응용 프로그램에서 동일한 유형의 2 가지 속성 해결