Bonjour,

un cas que je rencontre souvent en C# mais dont je n'ai pas de solution "magique" pour le faire.

J'ai un object B héritant de A, je voudrais crée une instance de mon Objet B à partir d'une instance d'Objet A, voici ma solution actuellement:

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
34
35
36
37
38
39
40
41
42
43
44
public class A
    {
 
        [JsonProperty("id")]
        public int Id { get; set; }
 
        [JsonProperty("key")]
        public string Key { get; set; }
 
        [JsonProperty("name")]
        public string Name { get; set; }
 
        [JsonProperty("title")]
        public string Title { get; set; }
 
        public A() {
        }
 
        public A(A a)
        {
            this.Id = a.Id;
            this.Key = a.Key;
            this.Name = a.Name;
            this.Title = a.Title;
        }
    }
 
   public class B: A
    {
        public bool Discover { get; set; }
 
        public string Clue1 { get; set; }
 
        public string Clue2 { get; set; }
 
        public B() { }
 
        public B(A a):base(a)
        {
        }
    }
 
 // et donc je crée une instance de ma classé B comme ça
  B b=new B(a);
Y'a t'il un moyen plus simple de faire ça sans me taper toutes les propriétés dans le constructeur de mes classes et sans passer par la réflexion ?

Ou peut être que je devrais juste me crée un outil qui fait le boulot à ma place ?