規定變數名以 $ 開頭(如 $myblogname = "https://..."),解譯器內部以 SortedDictionary<string, object> 儲存。
public SortedDictionary<String, Object> Instances { get; set; }
public Object this[String name]
{
get
{
return Instances.ContainsKey(name) ? Instances[name] : null;
}
set
{
if (Instances.ContainsKey(name)) Instances.Remove(name);
Instances.Add(name, value);
}
}
腳本中 $var = 123 觸發 set,Print($var) 觸發 get,實現宿主與腳本雙向資料交換。