クラスオブジェクトへの参照を含む特定のインターフェイスのオブジェクトのプロパティを取得する必要があります。そのオブジェクトを印刷すると、そのクラスのすべてのプロパティが取得されます。 名とKeyValuesはを、代わりに基本的なランタイムオブジェクトについては何も変更されません型アサーションを使用してAdminReport変数がそのインタフェースを実装するクラスへの参照を含む場合にのみ、インタフェースのプロパティを取得する方法は?
0
A
答えて
1
のすべてのプロパティを取得:
export interface IReporting
{
Name: string | null;
KeyValues: Array<KeyValue>;
}
export class AdminReport implements IReporting
{
Id: number;
UserIcon: string | null;
Name: string | null;
//Key-values
KeyValues: Array<KeyValue>;
}
In component class:
let updated = <IReporting>(this.report);
console.log(updated);
が見に期待するべきです。 report
がインタフェースによって定義された形状になるとコンパイラに通知するだけです。あなたが唯一のレポートプロパティを含むクラスを作成し、別のから、それに情報をコピーすることができ
let updated = <IReporting>{
KeyValues: report.KeyValues,
Name: report.Name
}
:あなたは、サーバーに送信するだけのプロパティが含まれている新しいオブジェクトを作成する必要が
オブジェクト。
export class JustReporting implements IReporting
{
// All proeprties must be initialized with null or another default so they appear when we call Object.getOwnPropertyNames
Name: string | null = null;
KeyValues: Array<KeyValue> = null;
constructor(data: IReporting) {
for (const prop of Object.getOwnPropertyNames(this)) {
(<any>this)[prop] = (<any>data)[prop];
}
}
}
+0
よろしくお願いいたします。私はそれを行います。 – Dragma
+0
これを達成するための自動化された方法が追加されました。おそらくそれはあなたにとって役に立ちます:) –
関連する問題
- 1. 複数のクラスを参照する単一のJavaクラス/インタフェースを実装する
- 2. インタフェース内の転送参照を含むオーバーロードが発生する
- 3. インタフェースを実装しているクラスの、インタフェースに含まれていない関数へのアクセス
- 4. インタフェースの実装方法は
- 5. 実装クラスのメソッド名の前にインタフェース参照が含まれる理由は何ですか?
- 6. Autofacのインタフェースの登録済み実装をすべて取得
- 7. セルを含む関数への参照を取得する
- 8. javaでそれを実装するクラスによって、インタフェースの変数の値を変更するには?
- 9. プロパティへの参照がある場合、包含オブジェクトへの参照を取得する方法はありますか?次のように
- 10. クラス参照がインタフェースを実装しているかどうかをテストする方法は?
- 11. Androidのイベント:インタフェースを実装する場合、それはより良い
- 12. 実行時にインタフェースの名前を取得する方法は?
- 13. 制約のある抽象クラスへのインタフェースの実装方法は?
- 14. 他のインタフェースの要素を定義するインタフェースの実装方法
- 15. ViewModelへの参照がある場合、Viewを取得する方法は?
- 16. は、私はこの方法でインタフェースを実装するすべてのクラスを取得しようと
- 17. golang - 参照解除後に構造体からインタフェース実装インスタンスを取得
- 18. の実装インタフェース
- 19. Javaの抽象クラスは、私はそれを実装して、次のインタフェースと抽象クラスを持つインタフェース
- 20. クラスが実装するインタフェースのタイプを返すC#
- 21. ウィンドウを含むXUL iframeへの参照を取得する方法
- 22. 列挙は、その実装インタフェース
- 23. 参照から参照を含む配列へのハッシュを取得するPerl
- 24. インタフェースを実装するオブジェクトのクラスを検出する
- 25. はComparableインタフェースを実装するコンパイルエラーを取得
- 26. Java:最終クラスのインタフェースを実装するクラス
- 27. インプリメンテーションの内部クラスを参照するインタフェース
- 28. クラス参照がインタフェースであるかどうかを識別する方法?
- 29. メソッドパラメータがインタフェースである場合のJMHの統合方法は?
- 30. モデルのインタフェースをLaravelで実装する
あなたが –
をやろうとしている。しかし、私は、サーバーにこのオブジェクトを送信し、私はそれが自動的にすべてのプロパティを送りたいものをilustrateするためにいくつかのサンプルコードを追加します。インターフェイスは、プロパティの多くを持っている場合、これは理にかなっていますそのオブジェクト(インターフェイス)私は手動で各プロパティを選択せずに。 – Dragma