我的方法是這樣的:泛型類型參數不相同的類型參數實例
public static void Raise<TEvent>(TEvent eventToRaise)
where TEvent : IEvent
{
}
我呼籲像這樣的方法:
foreach (IEvent evt in entity.UncommittedEvents)
{
DomainEvents.Raise(evt);
}
,我認爲這是正確的:
bool areSame = typeof(TEvent) == eventToRaise.GetType();
,但它似乎是不正確的。相反它是:
bool areSame = typeof(TEvent) == typeof(IEvent);
這是爲什麼?這裏
問題是,我在這裏「丟失」型混凝土事件。當我將該類型參數傳遞給下一個方法(沒有事件實例)時,我只輸入「IEvent」....
酷,它的工作! – Harza