通过FileName.variable Kotlin引用文件变量

时间:2018-04-05 08:04:05

标签: kotlin

我有一个文件,其中变量在java意义上是“静态的”,我想通过文件名访问它们。我举了一个例子。

private var user:User?= null// this is put directly inside the file
fun saveMe(user: User?){
    saveObject(user, USER_FILE)
    FileStorage.user = user// this method is not allowed. How to access the top level user variable from here?
}

我不知道之前是否曾经问过这个问题,我想问题很清楚,关于从具有相同名称参数的函数访问顶级变量。 我不想重命名任何一个变量。

1 个答案:

答案 0 :(得分:0)

选项1:将您的文件包装到object

object FileStorage {
    // all your previous file content
}

然后FileStorage.user意味着你想要的。

选项2(如果您的文件有包装声明):

fun saveMe(user: User?){
    saveObject(user, USER_FILE)
    your.package.user = user
}

选项3:添加间接:

private var user:User?= null
fun setTopLeverUser(_user: User?) { user = _user; }

fun saveMe(user: User?){
    saveObject(user, USER_FILE)
    setTopLevelUser(user)
}