What is the type of a simple object expression?


package Kotlin101.Objects.Expressions

fun main (args : Array<String>){
  val msg = anythingGoes()
  println ("${msg.message}") //this throws error

fun anythingGoes() : Any{   return object{   val message : String = "You can use this anytime"   } }

Is there anyway to access the ‘message’ property in above case?


Not until there's support for a dynamic typing type, so you can use runtime reflection/dynamic typing.

For now just create a class

class Foo(val message: String) {}
fun anythingGoes(): Foo {
  return Foo(“You can use this anytime”)


An anonymous object has an anonymous type, so you can say this:


  val a =  object{
  val message : String = “You can use this anytime”

But you can not denote this type (i.e. write it down), so you need to create a named class to return something like that from a function.