2
Ran dans ce lors de la conversion d'une interface VB.NET en C#; la version VB définit un événement qui ne se conforme pas à la signature typique (expéditeur d'objet, EventArgs e):Conversion de VB.NET en C# - Déclaration d'événement d'interface pour les événements non-EventHandler
VB
Public Class SomeType
' Does *NOT* inherit from EventArgs
End Class
Public Interface ISomething
Public Event SomeEvent(sender as Object, value as SomeType)
End Interface
Quel est le C# équivalent pour ISomething? Mes tentatives jusqu'à présent ont échoué à compiler:
C'est proche de ce que j'ai essayé; Pour conserver le nom du délégué, j'ai essayé de le déclarer dans l'interface C#, mais il n'a pas pu être compilé. Est-il possible de déclarer un délégué dans le cadre d'une interface, ou le délégué devra-t-il résider en dehors de l'interface? – STW
Il devra être en dehors de l'interface - contrairement à VB, C# n'autorise pas les types imbriqués dans une interface (ce qui est pénible pour certaines choses, mais peu importe). –