【发布时间】:2021-02-18 16:21:38
【问题描述】:
我们有haxe.ds.ReadOnlyArray,但它阻止了所有人的推送/弹出。我需要的是能够在课堂内更改它,但不能在课堂外更改。是否可以?当我做public var myArr(default, null):Array<Something> 时 - 它不会让其他类替换数组本身,但它们可以推送/弹出,所以它也不是一个解决方案。谢谢!
【问题讨论】:
标签: haxe
我们有haxe.ds.ReadOnlyArray,但它阻止了所有人的推送/弹出。我需要的是能够在课堂内更改它,但不能在课堂外更改。是否可以?当我做public var myArr(default, null):Array<Something> 时 - 它不会让其他类替换数组本身,但它们可以推送/弹出,所以它也不是一个解决方案。谢谢!
【问题讨论】:
标签: haxe
您可以使用具有不同名称的只读属性将其作为只读数组公开给外部:
var internalArray:Array<T>;
public var publicArray(get, never):haxe.ds.ReadOnlyArray<T>;
function get_publicArray() return internalArray;
【讨论】:
haxe var hey:Array<T> = obj.publicArray; hey.push(new T()) 他们能做到吗?
cast。