- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 EventKit 的
EKEventStore
,我想模拟它和 EKEvent。但是我不知道如何正确抽象EKEvent's
init(eventStore: EKEventStore)
和其他方法。
protocol EventStoring {
associated type Event: EventStoreEvent where Event.MatchingEventStore == Self
func save(_ event: Event, span: EKSpan, commit: Bool) throws
// Other methods of EKEventStore I use
}
extension EKEventStore: EventStoring {
typealias Event = EKEvent
}
protocol EventStoreEvent {
associatedtype MatchingEventStore: EventStoring
static func createEvent(eventStore: MatchingEventStore) -> Self
}
extension EKEvent: EventStoreEvent {
typealias MatchingEventStore = EKEventStore
static func createEvent(eventStore: MatchingEventStore) -> Self {
return EKEvent(eventStore: eventStore) as! Self
}
}
此处的错误是:“'Self' 仅在协议(protocol)中可用或作为类中方法的结果可用;您是说 'EKEvent'
吗?”并且:“无法将类型 'EKEvent'
的返回表达式转换为返回类型'Self'”
class GenericEventManger<StoreEvent: EventStoreEvent> {
var store: EventStoring
required init(with eventStore: EventStoring) {
self.store = eventStore
}
func createEvent() -> StoreEvent {
let eventStoreEvent: EventStoreEvent = StoreEvent.createEvent(eventStore: store)
// Then some code where I configure the event...
try store.save(eventStoreEvent, span: .thisEvent, commit: true)
}
}
在倒数第七行,错误是:无法使用 '(eventStore: EventStoring)' 类型的参数列表调用
在倒数第三个是:无法使用 'createEvent'
'(StoreEvent, span: EKSpan, commit: Bool)' 类型的参数列表调用 'save'
更新 由于我采纳了 Dan 的建议,在我的实现过程中出现了另一个同类问题,所以我更新了我的问题
最佳答案
我想在 Dan 的帮助下,到目前为止我已经找到了两个问题的解决方案,但我还没有彻底测试它:
首先,我按照 Dan 的建议更改了 GenericStoreManager
的 store
属性的类型
class GenericStoreManger<StoreEvent: EventStoreEvent> {
var store: StoreEvent.MatchingEventStore
func createEvent() -> StoreEvent {
let eventStoreEvent: EventStoreEvent = StoreEvent.createEvent(eventStore: store)
// Then some code where I configure the event...
try store.save(eventStoreEvent as! StoreEvent.MatchingEventStore.Event, span: .thisEvent, commit: true)
}
...
}
然后我更改了在 extension EKEvent: EventStoreEvent
中获取返回值的方式,因此它也可以在 EKEvent 的子类中工作
extension EKEvent: EventStoreEvent {
typealias MatchingEventStore = EKEventStore
static func createEvent(eventStore: MatchingEventStore) -> Self {
return self.init(eventStore: eventStore)
}
}
关于swift - 如何使用类型为 "Cannot invoke ' 的参数列表修复 '(eventStore: EventStoring)' createEvent',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54406371/
我正在使用 EventKit 的 EKEventStore,我想模拟它和 EKEvent。但是我不知道如何正确抽象EKEvent's init(eventStore: EKEventStore) 和其
我在我的应用程序中使用 EventStore,目前想部署在我们的一个产品环境中。当我在我的电脑上开发时,EventStore 启动时没有任何问题。当我想在我们的产品服务器上启动它时,问题就来了。 Ev
我正在尝试评估 EventStore就像服务器软件内部的可靠排队机制一样。 MSMQ 作为替代方案失败了,因为它不能支持部分排序,消息“对话”中的有序消息。并且由于它的 4MB 消息大小限制(可以
我已经开始在 .Net 中创建一个测试应用程序,它使用 Greg Young 的 EventStore 作为 CQRS/ES 的后备存储。 为了方便加载完整的聚合,我保存到一个名为“agg-123”的
我想问问您的意见,以及您认为使用 ElasticSearch 作为 EventStore 的利弊。 我想听听是否有人有使用 ElasticSearch 作为事件存储的经验,以及结果、可靠性以及是否存在
我已经关注 Event Store 一段时间了,困扰我的一件事是何时应该考虑编写投影?创建扁平投影是常见的做法吗? The setup here is using a stream per aggre
对于我的罪过,我负责存储个人身份信息和可能受 HIPAA 保护的数据的数据库。 因此,这些数据在传输过程中和静止时都需要加密存储。 我们目前使用 MSSQL Enterprise 和 TDE。 我们正
我们正在使用 axon 框架版本 3.4.2,并在我们的代码中发现了一个错误。该错误与未发布的缺失事件有关。解决方案是修复代码,但这不会修复事件存储和 View 。 我的问题是如何解决这个问题?我们考
我在看 2 个场景:A 没问题,B 不确定。 场景A:模拟提交后、分派(dispatch)前的应用程序重启 启动EventStore 提交更改 事件未发送 停止事件商店 启动事件存储 在第 5 步中再
如果我想根据存储在 ES 中的所有历史事件填充新的 Viewmodel,我该怎么做? 我可以看到 IPersistStreams.GetFrom(DateTime)但是一口气把它们全部搞定似乎有点吓人
任何人都可以解释为什么 EventStore 有 2 个实际版本(20.6.1 和 5.0.9)? 它们之间有什么区别? 我们应该为什么目标使用什么版本? 最佳答案 20.x 和 5.x 之间的主要区
也许这个问题很愚蠢,但我有点困惑。 假设我们想要利用这种模式: 企业应用程序中的事件存储范围究竟是什么? 事件存储是在多个进程之间共享,还是只是一个进程内概念? 当应用程序关闭时,事件会发生什么?它们
使用 JOliver EventStore 3.0 并从 NServiceBus 接收命令,处理并发异常的正确方法是什么?如果我有多个工作线程,这可能是一种常见的情况。 选项 1 try {
谁能给我指点EventStore带有源代码的示例应用程序? 我正在学习事件存储并想查看引用实现。 最佳答案 很多这样的东西似乎都缺乏功能齐全的示例项目。到目前为止,我发现的 EventStore/Co
顺便说一句,你如何创建一个流? I use AppendToStreamAsync directly, is this right or shall I create a stream first t
我目前正在开始使用 EventStore我正在关注 Getting Started指导。我只是卡在第一步,不知道我做错了什么...... 我现在使用的版本是 20.6.0 . 我正在尝试使用 .NET
如何访问 EventStore 中存储的所有事件以重建我的读取模型? 在问题 J Oliver EventStore V2.0 questions 中提到了一个名为 GetFrom 的方法,但我在 W
是否可以不通过 StreamId 而通过其他 Stream 属性来搜索流?例如,如果每个流的 header 中都有 CustomerId,我想搜索具有特定 CustomerId 的所有流。 最佳答案
我试图弄清楚我的事件存储和我的读取模型在实际具体实现方面是如何相关的。 我对事件存储的有限了解使我相信: 事件提交给事件存储 调度员运行 如果我使用队列,我会将消息发送到队列(比方说公共(public
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题吗? 更新问题,以便 editing this post 提供事实和引用来回答它. 关闭 6 年前。 Improve
我是一名优秀的程序员,十分优秀!