我正在尝试使用Microsoft Bot Framework和Autofac构建一个机器人。 我有一个服务,它在2个对话框之间共享,第一个对话框根据用户响应实例化另一个。 在我的对话框中,我调用了这一行:
object MyObj {
def posToPaths(position: Position): Option[Path] = Some(List(position))
example(Nil, posToPaths)
}
但我不认为这是对的。在我的控制器中,我这样做:
release {
debuggable false
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
debuggable true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
所以我假设我必须做类似的事情来获取我的 StepDialog 的实例,同时保持对 ProductProvider 的引用(这是我的服务)。
我考虑过将范围传递到我最初的对话的构造函数中,但我读过这是一个坏主意,所以我该怎么做呢?
答案 0 :(得分:3)
我看到一个很好用的想法是使用Dialog Factory;所以你将它注入对话框并用它来解析其他对话框。
在ContosoFlowers sample中,您将找到Dialog Factory的基本实现。下面是一些参考链接: