まだ存在しないライブラリ用の宣言ファイルを作成していますが、読み込み専用の属性を持つクラスがあります。私はそれを宣言にどのように置くことができますか?宣言ファイルにreadonly属性を追加するにはどうすればよいですか?
5
A
答えて
5
奇妙なことに、インターフェイスや環境宣言でゲッターとセッターを指定することはできません。
あなたが得ることができる最も近いです:
interface Test {
Prop: number;
}
class Example implements Test {
private prop: number;
get Prop() :number {
return this.prop;
}
}
残念ながら、これはセッターを許すから実装を妨げるものではないと周囲宣言のコンテキストでは、設定しようとするから、呼び出し元を妨げません値。あなたは今、読み取り専用プロパティを宣言することができ活字体2.0で
2
は、例えば
interface Point {
readonly x: number;
readonly y: number;
}
var p1: Point = { x: 10, y: 20 };
p1.x = 5; // Error, p1.x is read-only
var p2 = { x: 1, y: 1 };
var p3: Point = p2; // Ok, read-only alias for p2
p3.x = 5; // Error, p3.x is read-only
p2.x = 5; // Ok, but also changes p3.x because of aliasing
は詳細についてhereを参照してください。
関連する問題
- 1. CXF - 属性を宣言するにはどうすればいいですか?
- 2. ファイルから単一の属性(ReadOnlyなど)を削除するにはどうすればよいですか?
- 3. XML属性を追加するにはどうすればよいですか?
- 4. JavaScript:属性を追加するにはどうすればよいですか?
- 5. 仮想属性にActiveRecord属性ヘルパーメソッドを追加するにはどうすればよいですか?
- 6. 複数の名前空間宣言をXDocumentに追加するにはどうすればよいですか?
- 7. ASP.NETコントロール宣言のプロパティに改行を追加するにはどうすればよいですか?
- 8. JavaScriptイベントに属性を追加するにはどうすればよいですか?行レベルで
- 9. SavonでSOAPヘッダーに属性を追加するにはどうすればよいですか?
- 10. javascriptを使用してテキストボックスに属性を追加するにはどうすればよいですか?
- 11. モデルに動的ReadOnly属性を追加する
- 12. 動的オブジェクトに属性を追加するにはどうすればよいですか?
- 13. クラス属性をDjangoのモデルに追加するにはどうすればよいですか?
- 14. C#コードビハインドファイルのパネル(div)にtitle属性を追加するにはどうすればよいですか?
- 15. JAXBのテキスト要素に属性を追加するにはどうすればよいですか?
- 16. XmlArray要素(XMLシリアル化)に属性を追加するにはどうすればよいですか?
- 17. XSD:属性に制限を追加するにはどうすればよいですか?
- 18. カスタム属性にドキュメントを追加するにはどうすればよいですか?
- 19. 一連の要素に適切な属性を追加するにはどうすればよいですか?
- 20. FormData()オブジェクトにenctype属性を追加するにはどうすればよいですか?
- 21. PostSharp属性に引数を追加するにはどうすればよいですか?
- 22. RegularExpression属性にmultilineオプションを追加するにはどうすればよいですか?
- 23. F#型のパブリックメソッドに属性を追加するにはどうすればよいですか?
- 24. LDAPスキーマに属性の検証を追加するにはどうすればよいですか?
- 25. ファイルにテキストを追加するにはどうすればよいですか?
- 26. Scalaでファイルに追加するにはどうすればよいですか?
- 27. 関数宣言でC++のmem_fn(member_function)を宣言するにはどうすればよいですか?
- 28. CSVファイルに追加するにはどうすればよいですか?
- 29. razorのhtml要素のname属性にnumberを追加するにはどうすればいいですか?
- 30. Html.BeginFormにデータ属性を追加するにはどうすればいいですか
ライブラリー(WebオーディオAPI)ではなく、宣言ファイルを参照していませんでした;) – Eindbaas
答えがありましたら、誰かが<5のターゲットプロジェクトで宣言ファイルを使用した場合どうなりますか? – Eindbaas
TypeScriptはECMAScript 5以上でgetとsetしか使用できません。この制限は定義にも当てはまると思います。読み取り専用プロパティの概念は存在しません。 – Fenton