クラスオブジェクトへの参照を含む特定のインターフェイスのオブジェクトのプロパティを取得する必要があります。そのオブジェクトを印刷すると、そのクラスのすべてのプロパティが取得されます。 名と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. インタフェースを実装しているクラスの、インタフェースに含まれていない関数へのアクセス
- 2. インタフェースの実装方法は
- 3. 実装クラスのメソッド名の前にインタフェース参照が含まれる理由は何ですか?
- 4. セルを含む関数への参照を取得する
- 5. Autofacのインタフェースの登録済み実装をすべて取得
- 6. javaでそれを実装するクラスによって、インタフェースの変数の値を変更するには?
- 7. クラス参照がインタフェースを実装しているかどうかをテストする方法は?
- 8. Androidのイベント:インタフェースを実装する場合、それはより良い
- 9. 実行時にインタフェースの名前を取得する方法は?
- 10. 制約のある抽象クラスへのインタフェースの実装方法は?
- 11. 他のインタフェースの要素を定義するインタフェースの実装方法
- 12. ViewModelへの参照がある場合、Viewを取得する方法は?
- 13. golang - 参照解除後に構造体からインタフェース実装インスタンスを取得
- 14. Javaの抽象クラスは、私はそれを実装して、次のインタフェースと抽象クラスを持つインタフェース
- 15. ウィンドウを含むXUL iframeへの参照を取得する方法
- 16. クラスが実装するインタフェースのタイプを返すC#
- 17. 参照から参照を含む配列へのハッシュを取得するPerl
- 18. 列挙は、その実装インタフェース
- 19. はComparableインタフェースを実装するコンパイルエラーを取得
- 20. クラス参照がインタフェースであるかどうかを識別する方法?
- 21. インプリメンテーションの内部クラスを参照するインタフェース
- 22. インタフェース内にあるメソッドのシグネチャを取得する方法は?
- 23. インタフェースの実装 - パラメータ
- 24. インタフェースServiceConnectionの実装
- 25. すでにバイトスライスを持っている場合のGolang Readerインタフェースの実装
- 26. 何パターン、この場合に使用するには(インタフェースの実装)
- 27. この場合のインタフェースと抽象クラス
- 28. インタフェースXを実装するオブジェクトを、インタフェースXから継承するインタフェースYに渡すときのエラー。C#
- 29. インタフェースを実装し、
- 30. Cでインタフェースの実装を制限する方法
あなたが –
をやろうとしている。しかし、私は、サーバーにこのオブジェクトを送信し、私はそれが自動的にすべてのプロパティを送りたいものをilustrateするためにいくつかのサンプルコードを追加します。インターフェイスは、プロパティの多くを持っている場合、これは理にかなっていますそのオブジェクト(インターフェイス)私は手動で各プロパティを選択せずに。 – Dragma