一切從控制檯應用開始。
建立控制檯應用
確保安裝了GraphEngineVSExtension.vsix插件
管理你的NuGet程序包,從GraphEngine OSS Location安裝GraphEngine.Core
然後添加新項
其實這兩沒有啥區別,都是TSL文件。不過模板給我們做了一些樣例代碼,那我們就選擇DataModel(第二個),我們會看到TSL已經給了一個樣例代碼
cell MyCell
{
int A;
}
如我們之前說的,TSL可以幫助我們定義數據模型,並且通過IDL進行數據消息的通知和解析。所以有兩件事情要記得
- TSL中的代碼格式雖然和C#很像,但不是C#的代碼,也不是你的C#代碼可以直接訪問的
- TSL定義的是數據模型,所以cell中不能定義方法,也不能定義屬性。簡單的說,除了字段,cell中啥都不能定義
那我們的cell怎麼使用呢?GraphEngine會把cell的結構編譯爲一組對象,幫助我們進行單元的訪問,存儲和使用。
現在到你的Program你會看到
GraphEngine生成了
- 一個MyCell對象
- 一組MyCell_Accessor訪問器
- MyCell_Enumerable
- 一組選擇器MyCell_local_selector
- 在Global.LocalStorage加入了一組MyCell的訪問成員
- Is
- Load
- Save
- Use
這些成員可以幫助我們進行對MyCell的各種數據處理。
官方的樣例代碼中有這些的寫法
cell struct SimpleGraphNode
{
List<CellId> Inlinks;
List<CellId> Outlinks;
string Name;
}
但目前看來,不建議大家用struct 關鍵字。我們要構建單元,直接用cell就可以了。
cell可以用Attributes修飾,和C#不同,我們不需要預先定義Attributes,直接聲明就可以了
[GraphNode, BaseType : Person]
cell Student
{
[GraphEdge : Outlinks]
List<CellId> friends;
}