Pengenalan
TypeScript telah berkembang dengan baik Apabila syarikat kami membangunkan ciri baharu, kami mempertimbangkan kebolehselenggaraan program dan menggunakan TypeScript untuk menulis program pada penyemak imbas Kami menggunakan TypeScript dari awal, malah saya hanya mampu menggunakan javascript. Artikel ini menerangkan proses pengaturcara c# mengenali TypeScript.
Nota: Artikel ini ditulis berdasarkan versi Typescript 0.8, dan ia baru digunakan dan mungkin sudah lapuk Untuk spesifikasi tertentu, sila rujuk http://www.typescriptlang.org
Ruang nama dan kelas
Sebagai pembangun berorientasikan objek, perkara pertama yang terlintas di fikiran ialah bagaimana TypeScript mentakrifkan kelas Memandangkan prinsip pelayan projek kami (C#) adalah sama seperti prinsip pelanggan (TypeScript), kami hanya menggunakan C#. dan TypeScript di sini.
Kelas pengisytiharan C#
using System; namespace Digiwin.Mars.VirtualUI.Engine { internal sealed class Decoder {} }
Kelas pengisytiharan TypeScript
///<reference path="../Collections/ICollection.ts" /> module System.Erp.VirtualUI.Engine { export class Decoder {} }
Kedua, untuk merujuk kelas lain dalam C#, mula-mula anda perlu merujuk dll dalam fail projek, dan kemudian menggunakan ruang nama (pilihan) dalam pengepala fail Walau bagaimanapun, dalam TypeScript, tiada konsep sedemikian, dan a fail dirujuk secara langsung.
Dalam C#, kelas boleh mempunyai banyak peringkat seperti awam, dalaman, dsb., serta pengubah suai seperti dimeteraikan Lupakan tentang ini dalam TypeScript Menambah eksport adalah bersamaan dengan jenis umum, abstrak, nilai, dll. Ini nampaknya tidak boleh didapati.
Tetapi terdapat antara muka.
Kaedah dan ulasan
Kaedah C#
/// <summary> /// 解码变更集 /// </summary> /// <param name="reader"> 一个变更集读取器对象 </param> public void DecodeChangeSet(ChangeRecordReader reader) { //解码上下文对象 var ctx = new DecodeContext();
/** * 传入变更集,将其解码到当前的对象容器。 * @param {System.Erp.VirtualUI.Engine.IChangeRecordReader} reader - 提供记录集。 */ public Decode(reader: IChangeRecordReader): void { //解码上下文对象 var ctx = new DecodeContext();
Komen biasa juga menggunakan //, yang betul-betul sama dengan javascript.
Dalam pengisytiharan kaedah, TypeScript meletakkan parameter pulangan pada akhir, jenis parameter juga diletakkan selepas nama Jika anda mengisytiharkan pembolehubah, perkara yang sama berlaku
private _maxId: number; //Tentukan medan pada kelas
item var: VirtualObject; //Tentukan pembolehubah dalam kaedah.
Dari segi kebolehcapaian kaedah, orang ramai disokong, supaya ia boleh diketahui umum atau tidak.
Parameter dan pembinaan
Dalam C#, kami sering mentakrifkan berbilang kaedah dengan nama yang sama dan menggunakan jenis parameter yang berbeza untuk membezakannya, tetapi ini tidak dibenarkan dalam JavaScript, jadi TypeScript tidak membenarkannya.Disebabkan sebab di atas, anda juga boleh memahami bahawa hanya ada satu pembina. Berikut ialah contoh pembinanya:
constructor( objectContainer: VirtualObjectContainer, objectBinder:IObjectBinder ) { this._objectContainer = objectContainer; this._binder = objectBinder; }
Saya tidak menjumpai kata kunci ganti, walaupun dikatakan ia telah ditambahkan selepas 0.8.
Baiklah, untuk butiran lanjut anda perlu mengkaji dokumen spesifikasi secara perlahan-lahan Dokumen ini boleh membantu anda mula dan menikmati penggunaannya.
Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.