Delegaty i kontrakty danych

Wszystkie definicje delegatów są kompilowane do klas, które mogą być serializowane. Zatem teoretycznie Twoje typy kontraktów danych mogą zawierać delegaty jako składowe:

[DataContract]
class MyDataContract
{
    [DataMember]
    public EventHandler MyEvent;
}

Lub nawet w formie zdarzenia (zwróć uwagę na kwalifikator field).

[DataContract]
class MyDataContract
{
    [field:DataMember]
    public event EventHandler MyEvent;
}

Jednak w praktyce, kiedy kontrakt danych odnosi się do niestandardowego delegata, zaimportowany kontrakt danych będzie zawierał jego nieprawidłową definicję. Możesz poprawić tę definicję manualnie. Problem pojawia się jednak podczas serializacji — kiedy serializujesz obiekt, który ma składową delegata, serializowana ...

Get Programowanie usług WCF now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.