在下面的工作代码中删除private
的{{1}}修饰符(第4行)将破坏该代码。原因是myScope
的类型不断变化。可见性是否设置为myScope
,类型为:private
。如果没有anonymous object : Scope
,类型将切换为private
。如何解决此问题?
Scope
答案 0 :(得分:4)
此行为是设计使然。参见documentation:
请注意,匿名对象只能在本地和私有声明中用作类型。如果您将匿名对象用作公共函数的返回类型或公共属性的类型,则该函数或属性的实际类型将是匿名对象的声明的超类型;如果未声明任何超类型,则为Any 。添加到匿名对象中的成员将不可访问。