func init if(linked("Controls")) this.setfield('control', code(d("Controls"))) end end func doAdd(data) blk.println(this.control, '.Add(', sys.if_null(data), ');') end func doAddRange(data) blk.println(this.control, '.AddRange(', sys.if_null(data), ');') end func doClear blk.println(this.control, '.Clear();') end func doContains(data) event("onContains", this.control + '.Contains(' + sys.if_null(data) + ')') end func doContainsKey(data) event("onContainsKey", this.control + '.ContainsKey(' + str(data) + ')') end func doFind(data) event("onFind", this.control + '.Find(' + str(data) + ', true)') end func doGetChildIndex(data) event("onGetChildIndex", this.control + '.GetChildIndex(' + sys.if_null(data) + ', true)') end func doIndexOf(data) event("onIndexOf", this.control + '.IndexOf(' + sys.if_null(data) + ')') end func doIndexOfKey(data) event("onIndexOfKey", this.control + '.IndexOfKey(' + str(data) + ')') end func doRemove(data) blk.println(this.control, '.Remove(', sys.if_null(data), ');') end func doRemoveAt(data) blk.println(this.control, '.RemoveAt(', d("Index"), ');') end func doRemoveByKey(data) blk.println(this.control, '.RemoveByKey(', str(data), ');') end func doSetChildIndex(data) blk.println(this.control, '.SetChildIndex(', sys.if_null(data), ', ', d("Index"), ');') end func Enumerator return(this.control + '.GetEnumerator()') end func Count return(this.control + '.Count') end func IsReadOnly return(this.control + '.IsReadOnly') end func Owner return(this.control + '.Owner') end