Bonjour,

Peut on en c# forcer une classe à ajouter l'attribut [Serializable] par héritage, implémentation ou autre chose.

car je cherche à faire ceci et ça risque de planter si T n'a pas l'attribut [Serializable] :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
    public interface IBase
    {
        void execute();
    }
 
    public class Compute : IBase
    {
        void execute()
        {
        }
    }
 
    public class Work<T> where T : IBase
    {
        private readonly T todo;
 
        internal Work( T todo )
        {
            this.todo = todo;
        }
 
        internal void start()
        {
            this.todo.execute();
        }
 
        internal void save()
        {
            //serialisation binaire,xml ou autre
            // plante si T n'a pas l'attribut [Serializable]
        }
    }

Merci