Обычно я создавал события Prism, используемые EventAggregator, например:
public class SomeEvent : CompositePresentationEvent
public class SomeEventArgs
{
public string Name { get; set; }
}
Но, глядя на код коллег, я заметил, что они сделал:
public class SomeEvent : CompositePresentationEvent<SomeEvent>
{
public string Name { get; set; }
}
Наверное, мой первый вопрос: почему это вообще компилируется? Мне кажется, что он реализует класс, который еще не определен. А во-вторых, это вообще негативно влияет на приложение, незначительно или лучше?