5

次のような小さなパッケージ オブジェクトを開発しました。

package object logic {

  type Chat = engine.logic.chat.Chat
  type History = engine.logic.history.History
  type Meta = engine.logic.meta.Meta
  type Notification = engine.logic.notification.Notification
  type Service = engine.logic.service.Service
  type State = engine.logic.state.State
  type Sync = engine.logic.sync.Sync

}

パッケージ オブジェクトのポイントを誤解しているように見えます。これは、前のオブジェクトがコンパニオン オブジェクトSyncをスコープに入れると信じていたためです。

Syncの下の最上位オブジェクトpackage engine.logic.syncです。

これが私がそれにアクセスする方法です:

engine.logic.Sync.aMemberDef(var: String)

ただし、コンパイラはエラーをスローしますobject Sync is not a member of package engine.logic。では、回避策は何ですか? また、どのようにパッケージを台無しにしましたか?

ありがとう!

4

1 に答える 1

6

インスタンス エイリアスを作成する場合は、val を使用します。

val Sync = engine.logic.sync.Sync
于 2012-09-17T17:16:58.287 に答える