J'utilise LINQ to SQL pour la couche DataAccess. J'ai des objets métier similaires à ce qui se trouve dans la couche d'accès aux données.Modificateurs d'accès - Propriété sur les objets métier - obtention et définition
Le fournisseur de données a reçu le message # 23. Lors de l'instanciation du message, dans le constructeur du message, il obtient MessageType et crée une nouvelle instance de la classe MessageType et remplit les informations MessageType de la base de données.
Par conséquent; Je veux que cela obtienne le nom du messageType du message.
user.Messages[23].MessageType.Name
Je veux aussi un administrateur de définir le MessageType
user.Messages[23].MessageType = MessageTypes.LoadType(3);
, mais je ne veux pas l'utilisateur de définir publiquement le MessageType.Name. Mais lorsque je crée une nouvelle instance MessageType, le modificateur d'accès pour la propriété Name est public car je veux le définir à partir d'une classe externe (ma couche d'accès aux données).
Je pourrais changer cela en propriété interne, afin que ma classe puisse y accéder comme une variable publique, et ne pas permettre à mon autre accès d'application de le modifier.
Cela ne semble toujours pas correct car il semble être une propriété publique. Les modificateurs d'accès public dans cette situation sont-ils mauvais? Des conseils ou suggestions seraient appréciés.
Merci.