Bonjour,
J'ai un projet de type "Bibliothèque de classes" qui contient deux classes :
Code csharp : 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 namespace MaLib { public class Request { private readonly Client _client; public readonly string RequestAttribute; public Request(Client client) { _client = client; RequestAttribute = string.Empty; } } public class Client { private readonly string MyAttribute; public Request GetRequest() { return new(this) { RequestAttribute = MyAttribute, } } } }
Ayant implémenté une factory de Request dans ma classe Client, je souhaite ne pas pouvoir appeler le constructeur de Request depuis ailleurs.
Comment faire ?
J'ai bien en tête de faire dériver Client de Request, et passer le constructeur en protected, mais ce n'est pas trop ce que je veux faire...
Le but étant que dans mon factory j'initialise mon attribut RequestAttribute qui doit forcément être égal à MyAttribute de l'objet Client, alors qu'il est readonly sur le Request et qu'il doit rester private sur le Client.
Donc si quelqu'un lit pas la doc et fait un new Request(client); alors RequestAttribute est vide et ça ne marche pas, et il n'a aucune solution pour le renseigner.
Partager